@inproceedings{kim2012a, author = {Kim, Miryung and Zimmermann, Tom and Nagappan, Nachi}, title = {A Field Study of Refactoring Challenges and Benefits}, booktitle = {Proceedings of the 20th International Symposium on Foundations of Software Engineering (FSE 2012)}, year = {2012}, month = {November}, 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, 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.}, publisher = {Association for Computing Machinery, Inc.}, url = {http://approjects.co.za/?big=en-us/research/publication/a-field-study-of-refactoring-challenges-and-benefits/}, edition = {Proceedings of the 20th International Symposium on Foundations of Software Engineering (FSE 2012)}, }