Analyzing and Forecasting Near-miss Clones in Evolving Software: An Empirical Study

被引:42
作者
Zibran, Minhaz F. [1 ]
Saha, Ripon K. [1 ]
Asaduzzaman, Muhammad [1 ]
Roy, Chanchal K. [1 ]
机构
[1] Univ Saskatchewan, Dept Comp Sci, Saskatoon, SK S7N 5C9, Canada
来源
2011 16TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS) | 2011年
关键词
CODE CLONES; EVOLUTION; CLONING;
D O I
10.1109/ICECCS.2011.36
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Effort for development and maintenance of complex large software is believed to have dependency on the amount of duplicated code fragments (code clones) present in code-bases. For example, clones need to be carefully and consistently maintained and/or refactored for preventing accidental error propagation. Thus it is important to understand the proportion and evolution of clones in evolving software systems for cost estimation or the like. This paper presents a study on the evolution of near-miss clones at release level in medium to large open source software systems of different types (operating systems, database systems, editors, etc.) written in three different programming languages namely C, C#, and Java. Using a hybrid clone detector, NiCad, we detected both exact and near-miss clones at different levels of similarity. Applying statistical methods we investigated, from different dimensions, the evolution of both exact and near-miss clones, and also forecasted the amount of clones in future releases of the software systems. Our study offers significant insights into the existence and evolution of code clones and their relationships with programming language or paradigm and program size.
引用
收藏
页码:295 / 304
页数:10
相关论文
共 33 条
[1]   Modeling clones evolution through time series [J].
Antoniol, G ;
Casazza, G ;
Di Penta, M ;
Merlo, E .
IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, :273-280
[2]   Analyzing cloning evolution in the Linux kernel [J].
Antoniol, G ;
Villano, U ;
Merlo, E ;
Di Penta, M .
INFORMATION AND SOFTWARE TECHNOLOGY, 2002, 44 (13) :755-765
[3]  
Bakota T, 2007, PROC IEEE INT CONF S, P234
[4]   An Empirical Study on Inconsistent Changes to Code Clones at Release Level [J].
Bettenburg, Nicolas ;
Shang, Weyi ;
Ibrahim, Walid ;
Adams, Bram ;
Zou, Ying ;
Hassan, Ahmed E. .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :85-94
[5]  
Box G.E. P., 1990, TIME SERIES ANAL
[6]  
Duala-Ekoko E, 2007, PROC INT CONF SOFTW, P158
[7]  
Geiger R, 2006, LECT NOTES COMPUT SC, V3922, P411
[8]  
Godfrey MW, 2000, PROC IEEE INT CONF S, P131, DOI 10.1109/ICSM.2000.883030
[9]   Evolution of Type-1 Clones [J].
Goede, Nils .
2009 NINTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2009, :77-86
[10]   Incremental Clone Detection [J].
Goede, Nils ;
Koschke, Rainer .
13TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: CSMR 2009, PROCEEDINGS, 2009, :219-228