Do Code Clones Matter?
arXiv:1701.05472 · doi:10.1109/ICSE.2009.5070547
Abstract
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.
12 pages, 7 figures in Proc. 31st International Conference on Software Engineering (ICSE '09). IEEE, 2009
References in corpus (1)
Cited by in corpus (19)
- The Quamoco Product Quality Modelling and Assessment Approach
- Can clone detection support quality assessments of requirements specifications?
- Eliciting Best Practices for Collaboration with Computational Notebooks
- Studying Duplicate Logging Statements and Their Relationships with Code Clones
- Challenges of the Dynamic Detection of Functionally Similar Code Fragments
- Introduction of Static Quality Analysis in Small and Medium-Sized Software Enterprises: Experiences from Technology Transfer
- On the Relationship of Inconsistent Software Clones and Faults: An Empirical Study
- Are There Functionally Similar Code Clones in Practice?
- Source Code Clone Detection Using Unsupervised Similarity Measures
- Investigation of Geant4 Simulation of Electron Backscattering
- On the Benefit of Automated Static Analysis for Small and Medium-Sized Software Enterprises
- Introduction of an Assistance System to Support Domain Experts in Programming Low-code to Leverage Industry 5.0
- An Initial Step Towards Organ Transplantation Based on GitHub Repository
- Exploring Code Clones in Programmable Logic Controller Software
- Dataset: Copy-based Reuse in Open Source Software
- Advanced Detection of Source Code Clones via an Ensemble of Unsupervised Similarity Measures
- Detecting Semantic Clones of Unseen Functionality
- Grammars for Free: Toward Grammar Inference for Ad Hoc Parsers
- Unveiling Code Clone Patterns in Open Source VR Software: An Empirical Study