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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2014-07, Vol.40 (7), p.633-649
Hauptverfasser: Kim, Miryung, Zimmermann, Thomas, Nagappan, Nachiappan
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 &amp; Medical Complete (Alumni)</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; 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