Date Added: Jul 2012
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. The authors' 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.