A Field Study of Refactoring Challenges and Benefits – FSE 2012

by Miryung Kim, Thomas Zimmermann, Nachiappan Nagappan

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, which has led a multi-year, centralized effort on refactoring Windows. The quantitative analysis of Windows 7 version history finds that the binary modules refactored by this team experienced significant reduction in the number of inter-module dependencies and post-release defects, indicating a visible benefit of refactoring.

Download as PDF.

Reference

Miryung Kim, Thomas Zimmermann, Nachiappan Nagappan. A Field Study of Refactoring Challenges and Benefits. In Proceedings of the 20th International Symposium on Foundations of Software Engineering (FSE 2012), Research Triangle Park, NC, USA, November 2012.

BibTeX Entry

@inproceedings{kim-fse-2012,
    title = "A Field Study of Refactoring Challenges and Benefits",
    author = "Miryung Kim and Thomas Zimmermann and Nachiappan Nagappan",
    year = "2012",
    month = "November",
    booktitle = "Proceedings of the 20th International Symposium on Foundations of Software Engineering",
    location = "Research Triangle Park, NC, USA",
}