An Investigation into the Characteristics of Merged Code Clones during Software Evolution

Eunjong CHOI  Norihiro YOSHIDA  Katsuro INOUE  

IEICE TRANSACTIONS on Information and Systems   Vol.E97-D   No.5   pp.1244-1253
Publication Date: 2014/05/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E97.D.1244
Type of Manuscript: PAPER
Category: Software Engineering
code clone,  refactoring,  open source software,  

Full Text: PDF(1.2MB)>>
Buy this Article

Although code clones (i.e. code fragments that have similar or identical code fragments in the source code) are regarded as a factor that increases the complexity of software maintenance, tools for supporting clone refactoring (i.e. merging a set of code clones into a single method or function) are not commonly used. To promote the development of refactoring tools that can be more widely utilized, we present an investigation of clone refactoring carried out in the development of open source software systems. In the investigation, we identified the most frequently used refactoring patterns and discovered how merged code clone token sequences and differences in token sequence lengths vary for each refactoring pattern.