TY - GEN
T1 - Do code clones matter?
AU - Juergens, Elmar
AU - Deissenboeck, Florian
AU - Hummel, Benjamin
AU - Wagner, Stefan
PY - 2009
Y1 - 2009
N2 - Code cloning is not only assumed to inflate maintenance costs but also considered defect-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.
AB - Code cloning is not only assumed to inflate maintenance costs but also considered defect-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.
UR - http://www.scopus.com/inward/record.url?scp=73449090740&partnerID=8YFLogxK
U2 - 10.1109/ICSE.2009.5070547
DO - 10.1109/ICSE.2009.5070547
M3 - Conference contribution
AN - SCOPUS:73449090740
SN - 9781424434527
T3 - Proceedings - International Conference on Software Engineering
SP - 485
EP - 495
BT - 2009 31st International Conference on Software Engineering - Proceedings, ICSE 2009
T2 - 2009 31st International Conference on Software Engineering, ICSE 2009
Y2 - 16 May 2009 through 24 May 2009
ER -