DocumentCode :
660552
Title :
A study of repetitiveness of code changes in software evolution
Author :
Hoan Anh Nguyen ; Anh Tuan Nguyen ; Tung Thanh Nguyen ; Nguyen, Tuan N. ; Rajan, Hridesh
Author_Institution :
Iowa State Univ., Ames, IA, USA
fYear :
2013
fDate :
11-15 Nov. 2013
Firstpage :
180
Lastpage :
190
Abstract :
In this paper, we present a large-scale study of repetitiveness of code changes in software evolution. We collected a large data set of 2,841 Java projects, with 1.7 billion source lines of code (SLOC) at the latest revisions, 1.8 million code change revisions (0.4 million fixes), 6.2 million changed files, and 2.5 billion changed SLOCs. A change is considered repeated within or cross-project if it matches another change having occurred in the history of the project or another project, respectively. We report the following important findings. First, repetitiveness of changes could be as high as 70-100% at small sizes and decreases exponentially as size increases. Second, repetitiveness is higher and more stable in the cross-project setting than in the within-project one. Third, fixing changes repeat similarly to general changes. Importantly, learning code changes and recommending them in software evolution is beneficial with accuracy for top-1 recommendation of over 30% and top-3 of nearly 35%. Repeated fixing changes could also be useful for automatic program repair.
Keywords :
Java; automatic programming; software maintenance; source code (software); Java projects; SLOC; automatic program repair; code change learning; code change repetitiveness; code change revisions; software evolution; source lines of code; Databases; History; Libraries; Maintenance engineering; Programming; Software; Vegetation; Repetitive Code Changes; Software Evolution;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location :
Silicon Valley, CA
Type :
conf
DOI :
10.1109/ASE.2013.6693078
Filename :
6693078
Link To Document :
بازگشت