Skip to main content
Article
How We Refactor, and How We Know It
Software Engineering, IEEE Transactions on (2012)
  • Andrew P. Black, Portland State University
Abstract

Refactoring is widely practiced by developers, and considerable research and development effort has been invested in refactoring tools. However, little has been reported about the adoption of refactoring tools, and many assumptions about refactoring practice have little empirical support. In this paper, we examine refactoring tool usage and evaluate some of the assumptions made by other researchers. To measure tool usage, we randomly sampled code changes from four Eclipse and eight Mylyn developers and ascertained, for each refactoring, if it was performed manually or with tool support. We found that refactoring tools are seldom used: 11 percent by Eclipse developers and 9 percent by Mylyn developers. To understand refactoring practice at large, we drew from a variety of data sets spanning more than 39,000 developers, 240,000 tool-assisted refactorings, 2,500 developer hours, and 12,000 version control commits. Using these data, we cast doubt on several previously stated assumptions about how programmers refactor, while validating others. Finally, we interviewed the Eclipse and Mylyn developers to help us understand why they did not use refactoring tools and to gather ideas for future research.

Keywords
  • Computer software -- Development,
  • Software refactoring
Publication Date
January, 2012
Publisher Statement
Copyright (2011) IEEE
Citation Information
Andrew P. Black. "How We Refactor, and How We Know It" Software Engineering, IEEE Transactions on Vol. 38 Iss. 1 (2012)
Available at: http://works.bepress.com/andrew_black/41/