Title
How We Refactor, and How We Know It
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.
Year
DOI
Venue
2012
10.1109/TSE.2011.41
Software Engineering, IEEE Transactions
Keywords
Field
DocType
refactoring practice,considerable research,tool usage,empirical support,eclipse developer,tool support,code change,refactoring tool,mylyn developer,java,software maintenance,history,refactoring,version control
Programming language,Software engineering,Computer science,Eclipse,Software maintenance,Java,Code refactoring,Empirical research
Journal
Volume
Issue
ISSN
38
1
0098-5589
ISBN
Citations 
PageRank 
978-1-4244-3453-4
208
5.86
References 
Authors
18
3
Search Limit
100208
Name
Order
Citations
PageRank
Emerson R. Murphy-hill1128474.35
Chris Parnin294647.48
Andrew P. Black31566366.84