SEJan 19, 2017

Do Code Clones Matter?

arXiv:1701.05472v1488 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the problem of software reliability for developers and maintainers by providing empirical evidence on the impact of code clones, though it is incremental as it builds on existing clone detection research.

The paper investigates whether inconsistent changes to cloned code lead to faults in software systems, finding that such changes are frequent and cause a significant number of faults in both commercial and open-source projects.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes