Do Code Clones Matter?

被引:245
作者
Juergens, Elmar [1 ]
Deissenboeck, Florian [1 ]
Hummel, Benjamin [1 ]
Wagner, Stefan [1 ]
机构
[1] Tech Univ Munich, Inst Informat, D-85748 Garching, Germany
来源
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS | 2009年
关键词
D O I
10.1109/ICSE.2009.5070547
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code cloning is not only assumed to inflate maintenance costs but also considered defet-prone as inconsistent changes to code duplicates can lead to unexpected behavior Consequently, the identification of duplicated code, clone detection, has, been a very active area of research in recent years. Up to now, however, no substantial investigation of the consequences of code cloning on program correctness has been carried out. To remedy this shortcoming, this paper presents the results of a large-scale case study that was undertaken to find out if inconsistent changes to cloned code can indicate faults. For the analyzed commercial and open source systems we not only found that inconsistent changes to clones are very frequent but also identified a significant number of faults induced by such changes. The clone detection tool used in the case study implements a novel algorithm for the detection of inconsistent clones. It is available as open source to enable other researchers to use it as basis for further investigations.
引用
收藏
页码:485 / 495
页数:11
相关论文
共 34 条
[1]  
[Anonymous], 2007, 541 QUEENS U KINGST
[2]  
AVERSANO L, 2007, P CSMR 07 IEEE
[3]  
BAKOTA T, 2007, P ICSM 07 IEEE
[4]  
BAXTER ID, 1998, P ICSM 98 IEEE
[5]   Tool support for continuous quality control [J].
Deissenboeck, Florian ;
Juergens, Elmer ;
Hummel, Benjamin ;
Wagner, Stefan ;
Mas y Parareda, Bonedikt ;
Pizka, Markus .
IEEE SOFTWARE, 2008, 25 (05) :60-67
[6]  
DUALAEKOKO E, 2007, P ICSE 07 IEEE
[7]  
DUCASSE S, 1999, P ICSM 99 IEEE
[8]  
Endres A., 2003, HDB SOFTWARE SYSTEMS
[9]  
EVANS WS, 2007, P WCRE 07 IEEE
[10]  
GABEL M, 2008, P ICSE 08 ACM