Title
Analyzing Refactorings on Software Repositories
Abstract
Currently analysis of refactoring in software reposi- tories is either manual or only syntactic, which is time-consuming, error-prone, and non-scalable. Such analysis is useful to understand the dynamics of refactoring throughout development, especially in multi-developer environments, such as open source projects. In this work, we propose a fully automatic technique to analyze refactoring frequency, granularity and scope in software repositories. It is based on SAFEREFACTOR, a tool that analyzes transformations by generating tests to detect behavioral changes--it has found a number of bugs in refactoring implementations within some IDEs, such as Eclipse and Netbeans. We use our technique to analyze five open source Java projects (JHotDraw, ArgoUML, SweetHome 3D, HSQLDB and jEdit). From more than 40,723 software versions, 39 years of software development, 80 developers and 1.5 TLOC, we have found that: 27% of changes are refactorings. Regarding the refactorings, 63,83% are Low level, and 71% have local scope. Our results indicate that refactorings are frequently applied before likely functionality changes, in order to better prepare design for accommodating additions.
Year
DOI
Venue
2011
10.1109/SBES.2011.21
Software Engineering
Keywords
Field
DocType
software repository,open source project,software reposi,software repositories,automatic technique,software development,refactoring frequency,software version,open source java project,local scope,analyzing refactorings,refactoring implementation,java,programming,history,software maintenance
Programming language,Software analytics,Software engineering,Computer science,Backporting,Software maintenance,Software verification and validation,Software construction,Code refactoring,Software framework,Software development
Conference
ISBN
Citations 
PageRank 
978-1-4577-2187-8
11
0.48
References 
Authors
12
6
Name
Order
Citations
PageRank
Gustavo L. Soares12039.02
Bruno Catao2110.48
Catuxe Varjao3110.48
Solon Aguiar4110.48
Rohit Gheyi561840.66
Tiago Massoni624517.18