Concepedia

Publication | Closed Access

A Survey on Software Clone Detection Research

708

Citations

162

References

2007

Year

TLDR

Code duplication, present in 5–20 % of systems, propagates bugs and complicates refactoring, yet detecting clones remains essential for maintenance. This survey reviews the current state of clone detection research. The authors map common clone terminology, examine taxonomies, evaluate detection techniques and tools, and discuss cross‑domain applications and reciprocal benefits. The paper identifies several open research problems in clone detection.

Abstract

Code duplication or copying a code fragment and then reuse by pasting with or without any modiflcations is a well known code smell in software maintenance. Several studies show that about 5% to 20% of a software systems can contain duplicated code, which is basically the results of copying existing code fragments and using then by pasting with or without minor modiflcations. One of the major shortcomings of such duplicated fragments is that if a bug is detected in a code fragment, all the other fragments similar to it should be investigated to check the possible existence of the same bug in the similar fragments. Refactoring of the duplicated code is another prime issue in software maintenance although several studies claim that refactoring of certain clones are not desirable and there is a risk of removing them. However, it is also widely agreed that clones should at least be detected. In this paper, we survey the state of the art in clone detection research. First, we describe the clone terms commonly used in the literature along with their corresponding mappings to the commonly used clone types. Second, we provide a review of the existing clone taxonomies, detection approaches and experimental evaluations of clone detection tools. Applications of clone detection research to other domains of software engineering and in the same time how other domain can assist clone detection research have also been pointed out. Finally, this paper concludes by pointing out several open problems related to clone detection research.

References

YearCitations

Page 1