An Empirical Study of RefactoringChallenges and Benefits at Microsoft
It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field study of refactoring benefits and chal...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 2014-07, Vol.40 (7), p.633-649 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 649 |
---|---|
container_issue | 7 |
container_start_page | 633 |
container_title | IEEE transactions on software engineering |
container_volume | 40 |
creator | Kim, Miryung Zimmermann, Thomas Nagappan, Nachiappan |
description | It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field study of refactoring benefits and challenges at Microsoft through three complementary study methods: a survey, semi-structured interviews with professional software engineers, and quantitative analysis of version history data. Our survey finds that the refactoring definition in practice is not confined to a rigorous definition of semantics-preserving code transformations and that developers perceive that refactoring involves substantial cost and risks. We also report on interviews with a designated refactoring team that has led a multi-year, centralized effort on refactoring Windows. The quantitative analysis of Windows 7 version history finds the top 5 percent of preferentially refactored modules experience higher reduction in the number of inter-module dependencies and several complexity measures but increase size more than the bottom 95 percent. This indicates that measuring the impact of refactoring requires multi-dimensional assessment. |
doi_str_mv | 10.1109/TSE.2014.2318734 |
format | Article |
fullrecord | <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_miscellaneous_1677914391</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>6802406</ieee_id><sourcerecordid>1677914391</sourcerecordid><originalsourceid>FETCH-LOGICAL-c362t-4a7f85d61527b53e9f63c9197477b759b10011c15de2519d56b723e62099b9663</originalsourceid><addsrcrecordid>eNpdkM9LwzAUx4MoOKd3wUvBi5fOvKRJmuMc8wdMBDfPIW1fZkbXzqQ97L-3Y8ODp8eDz_fLex9CboFOAKh-XC3nE0YhmzAOueLZGRmB5jrlgtFzMqJU56kQub4kVzFuKKVCKTEi82mTzLc7H3xp62TZ9dU-aV3yic6WXRt8s55927rGZo0xsU2VPGGDznfD0iXvvgxtbF13TS6crSPenOaYfD3PV7PXdPHx8jabLtKSS9almVUuF5UEwVQhOGonealBq0ypQgldAKUAJYgKmQBdCVkoxlEyqnWhpeRj8nDs3YX2p8fYma2PJda1bbDtowGplIaMaxjQ-3_opu1DM1xnQGRSMiYEGyh6pA6PxIDO7ILf2rA3QM3Bqxm8moNXc_I6RO6OEY-If7jMKcuo5L9Ka3Dg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1546622552</pqid></control><display><type>article</type><title>An Empirical Study of RefactoringChallenges and Benefits at Microsoft</title><source>IEEE Electronic Library (IEL)</source><creator>Kim, Miryung ; Zimmermann, Thomas ; Nagappan, Nachiappan</creator><creatorcontrib>Kim, Miryung ; Zimmermann, Thomas ; Nagappan, Nachiappan</creatorcontrib><description>It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field study of refactoring benefits and challenges at Microsoft through three complementary study methods: a survey, semi-structured interviews with professional software engineers, and quantitative analysis of version history data. Our survey finds that the refactoring definition in practice is not confined to a rigorous definition of semantics-preserving code transformations and that developers perceive that refactoring involves substantial cost and risks. We also report on interviews with a designated refactoring team that has led a multi-year, centralized effort on refactoring Windows. The quantitative analysis of Windows 7 version history finds the top 5 percent of preferentially refactored modules experience higher reduction in the number of inter-module dependencies and several complexity measures but increase size more than the bottom 95 percent. This indicates that measuring the impact of refactoring requires multi-dimensional assessment.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2014.2318734</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Assessments ; Complexity theory ; Computer bugs ; Computer programs ; Definitions ; Developers ; Empirical analysis ; Field study ; History ; Interviews ; Perception ; Perceptions ; Quantitative analysis ; Semantics ; Size measurement ; Software ; Software engineering ; Software metrics ; Software quality ; Transformations</subject><ispartof>IEEE transactions on software engineering, 2014-07, Vol.40 (7), p.633-649</ispartof><rights>Copyright IEEE Computer Society Jul 1, 2014</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c362t-4a7f85d61527b53e9f63c9197477b759b10011c15de2519d56b723e62099b9663</citedby><cites>FETCH-LOGICAL-c362t-4a7f85d61527b53e9f63c9197477b759b10011c15de2519d56b723e62099b9663</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/6802406$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27903,27904,54736</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/6802406$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Kim, Miryung</creatorcontrib><creatorcontrib>Zimmermann, Thomas</creatorcontrib><creatorcontrib>Nagappan, Nachiappan</creatorcontrib><title>An Empirical Study of RefactoringChallenges and Benefits at Microsoft</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field study of refactoring benefits and challenges at Microsoft through three complementary study methods: a survey, semi-structured interviews with professional software engineers, and quantitative analysis of version history data. Our survey finds that the refactoring definition in practice is not confined to a rigorous definition of semantics-preserving code transformations and that developers perceive that refactoring involves substantial cost and risks. We also report on interviews with a designated refactoring team that has led a multi-year, centralized effort on refactoring Windows. The quantitative analysis of Windows 7 version history finds the top 5 percent of preferentially refactored modules experience higher reduction in the number of inter-module dependencies and several complexity measures but increase size more than the bottom 95 percent. This indicates that measuring the impact of refactoring requires multi-dimensional assessment.</description><subject>Assessments</subject><subject>Complexity theory</subject><subject>Computer bugs</subject><subject>Computer programs</subject><subject>Definitions</subject><subject>Developers</subject><subject>Empirical analysis</subject><subject>Field study</subject><subject>History</subject><subject>Interviews</subject><subject>Perception</subject><subject>Perceptions</subject><subject>Quantitative analysis</subject><subject>Semantics</subject><subject>Size measurement</subject><subject>Software</subject><subject>Software engineering</subject><subject>Software metrics</subject><subject>Software quality</subject><subject>Transformations</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2014</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNpdkM9LwzAUx4MoOKd3wUvBi5fOvKRJmuMc8wdMBDfPIW1fZkbXzqQ97L-3Y8ODp8eDz_fLex9CboFOAKh-XC3nE0YhmzAOueLZGRmB5jrlgtFzMqJU56kQub4kVzFuKKVCKTEi82mTzLc7H3xp62TZ9dU-aV3yic6WXRt8s55927rGZo0xsU2VPGGDznfD0iXvvgxtbF13TS6crSPenOaYfD3PV7PXdPHx8jabLtKSS9almVUuF5UEwVQhOGonealBq0ypQgldAKUAJYgKmQBdCVkoxlEyqnWhpeRj8nDs3YX2p8fYma2PJda1bbDtowGplIaMaxjQ-3_opu1DM1xnQGRSMiYEGyh6pA6PxIDO7ILf2rA3QM3Bqxm8moNXc_I6RO6OEY-If7jMKcuo5L9Ka3Dg</recordid><startdate>20140701</startdate><enddate>20140701</enddate><creator>Kim, Miryung</creator><creator>Zimmermann, Thomas</creator><creator>Nagappan, Nachiappan</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>K9.</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20140701</creationdate><title>An Empirical Study of RefactoringChallenges and Benefits at Microsoft</title><author>Kim, Miryung ; Zimmermann, Thomas ; Nagappan, Nachiappan</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c362t-4a7f85d61527b53e9f63c9197477b759b10011c15de2519d56b723e62099b9663</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2014</creationdate><topic>Assessments</topic><topic>Complexity theory</topic><topic>Computer bugs</topic><topic>Computer programs</topic><topic>Definitions</topic><topic>Developers</topic><topic>Empirical analysis</topic><topic>Field study</topic><topic>History</topic><topic>Interviews</topic><topic>Perception</topic><topic>Perceptions</topic><topic>Quantitative analysis</topic><topic>Semantics</topic><topic>Size measurement</topic><topic>Software</topic><topic>Software engineering</topic><topic>Software metrics</topic><topic>Software quality</topic><topic>Transformations</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Kim, Miryung</creatorcontrib><creatorcontrib>Zimmermann, Thomas</creatorcontrib><creatorcontrib>Nagappan, Nachiappan</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Health & Medical Complete (Alumni)</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology & Engineering</collection><collection>Engineering Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Kim, Miryung</au><au>Zimmermann, Thomas</au><au>Nagappan, Nachiappan</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>An Empirical Study of RefactoringChallenges and Benefits at Microsoft</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2014-07-01</date><risdate>2014</risdate><volume>40</volume><issue>7</issue><spage>633</spage><epage>649</epage><pages>633-649</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field study of refactoring benefits and challenges at Microsoft through three complementary study methods: a survey, semi-structured interviews with professional software engineers, and quantitative analysis of version history data. Our survey finds that the refactoring definition in practice is not confined to a rigorous definition of semantics-preserving code transformations and that developers perceive that refactoring involves substantial cost and risks. We also report on interviews with a designated refactoring team that has led a multi-year, centralized effort on refactoring Windows. The quantitative analysis of Windows 7 version history finds the top 5 percent of preferentially refactored modules experience higher reduction in the number of inter-module dependencies and several complexity measures but increase size more than the bottom 95 percent. This indicates that measuring the impact of refactoring requires multi-dimensional assessment.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2014.2318734</doi><tpages>17</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISSN: 0098-5589 |
ispartof | IEEE transactions on software engineering, 2014-07, Vol.40 (7), p.633-649 |
issn | 0098-5589 1939-3520 |
language | eng |
recordid | cdi_proquest_miscellaneous_1677914391 |
source | IEEE Electronic Library (IEL) |
subjects | Assessments Complexity theory Computer bugs Computer programs Definitions Developers Empirical analysis Field study History Interviews Perception Perceptions Quantitative analysis Semantics Size measurement Software Software engineering Software metrics Software quality Transformations |
title | An Empirical Study of RefactoringChallenges and Benefits at Microsoft |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-26T17%3A27%3A55IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=An%20Empirical%20Study%20of%20RefactoringChallenges%20and%20Benefits%20at%20Microsoft&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Kim,%20Miryung&rft.date=2014-07-01&rft.volume=40&rft.issue=7&rft.spage=633&rft.epage=649&rft.pages=633-649&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2014.2318734&rft_dat=%3Cproquest_RIE%3E1677914391%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1546622552&rft_id=info:pmid/&rft_ieee_id=6802406&rfr_iscdi=true |