Title
A comparative study of manual and automated refactorings
Abstract
Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and automated refactoring. We present the first extended empirical study that considers both manual and automated refactoring. This study is enabled by our algorithm, which infers refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 refactorings, we reveal several new facts about manual and automated refactorings. For example, more than half of the refactorings were performed manually. The popularity of automated and manual refactorings differs. More than one third of the refactorings performed by developers are clustered in time. On average, 30% of the performed refactorings do not reach the Version Control System.
Year
DOI
Venue
2013
10.1007/978-3-642-39038-8_23
ECOOP
Keywords
Field
DocType
code evolution data,extended empirical study,continuous change,refactoring tool builder,version control system,refactoring practice,comparative study,automated refactorings,code snapshot,manual refactorings,automated refactoring
Programming language,Computer science,Revision control,Snapshot (computer storage),Code refactoring,Empirical research,Code evolution,Local variable
Conference
Volume
ISSN
Citations 
7920
0302-9743
49
PageRank 
References 
Authors
1.21
27
5
Name
Order
Citations
PageRank
Stas Negara12189.23
Nicholas Chen2893.55
Mohsen Vakilian31627.62
Ralph E. Johnson41790264.74
Danny Dig5157079.66