  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.
