An Empirical Study of Function Clones in Open Source Software
Abstract
The new hybrid clone detection tool NICAD combines the strengths and overcomes the limitations of both text-based and AST-based clone detection techniques to yield highly accurate identification of cloned code in software systems. In this paper, we present a first empirical study of function clones in open source software using NICAD. We examine more than 15 open source C and Java systems, including the entire Linux Kernel and Apache httpd, and analyze their use of cloned code in several different dimensions, including language, clone size, clone location and clone density by proportion of cloned functions. We manually verify all detected clones and provide a complete catalogue of different clones in an online repository in a variety of formats. These validated results can be used as a cloning reference for these systems and as a benchmark for evaluating other clone detection tools.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Programmers tend to reuse existing code snippets by copying part of code with or without minor modifications to accelerate software development.
“programmers tend to reuse an existing code snippet by copying part of code with or without minor modifications to accelerate software development (Roy and Cordy, 2008; Baker, 2007)”
From ReACC: A Retrieval-Augmented Code Completion Framework (2022) · cites this paper as Roy and Cordy, 2008
Cited by
Sorted by citations
Evaluating clone detection tools with BigCloneBench
Svajlenko, J., & Roy, C. K. (2015) · 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) · doi:10.1109/icsm.2015.7332459 · Cited by 172 · see citing works
Self-citationReACC: A Retrieval-Augmented Code Completion Framework
Lu, S., Duan, N., Han, H., Guo, D., Hwang, S.-W., & Svyatkovskiy, A. (2022) · arXiv · doi:10.48550/arxiv.2203.07722 · Cited by 96 · see citing works
“This is unnatural from human perspective, as studies demonstrate that programmers tend to reuse an existing code snippet by copying part of code with or without minor modifications to accelerate software development (Roy and Cordy, 2008; Baker, 2007), leading a software repository usually containing 7-23% cloned codes…”
Background
- Authors
- Roy, C. K., & Cordy, J. R.
- Affiliations
- Queen's University Belfast (GB)
- ORCID
- Roy, Chanchal K.
- Venue
- 2008 15th Working Conference on Reverse Engineering
- Publisher
- IEEE
- Published
- 2008-10
- Pages
- 81-90
- ISSN
- 1095-1350 (ISSN-L)
- OpenAlex
- W2136128399
- Cited by
- 137
- References
- 0
- Citations by year
- 2025: 4 · 2024: 5 · 2023: 6 · 2022: 6 · 2021: 11 · 2020: 10 · 2019: 11 · 2018: 6 · 2017: 8 · 2016: 6 · 2015: 9 · 2014: 6 · 2013: 14 · 2012: 12
- FWCI
- 6.02
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- Working Conference on Reverse Engineering (WCRE) (publishedVersion)
- Funders
- Natural Sciences and Engineering Research Council of Canada
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Computer Science Applications › Open Source Software Innovations
- Social Sciences › Safety Research › Academic integrity and plagiarism
- Keywords
- clone detection, open source software, clone size, Linux kernel
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review