Evaluating clone detection tools with BigCloneBench
Authors:
Top Cited Papers
- 1 September 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 131-140
Abstract
Many clone detection tools have been proposed in the literature. However, our knowledge of their performance in real software systems is limited, particularly their recall. In this paper, we use our big data clone benchmark, BigCloneBench, to evaluate the recall of ten clone detection tools. BigCloneBench is a collection of eight million validated clones within IJaDataset-2.0, a big data software repository containing 25,000 open-source Java systems. BigCloneBench contains both intra-project and inter-project clones of the four primary clone types. We use this benchmark to evaluate the recall of the tools per clone type and across the entire range of clone syntactical similarity. We evaluate the tools for both single-system and cross-project detection scenarios. Using multiple clone-matching metrics, we evaluate the quality of the tools' reporting of the benchmark clones with respect to refactoring and automatic clone analysis use-cases. We compare these real-world results against our Mutation and Injection Framework, a synthetic benchmark, to reveal deeper understanding of the tools. We found that the tools have strong recall for Type-1 and Type-2 clones, as well as Type-3 clones with high syntactical similarity. The tools have weaker detection of clones with lower syntactical similarity.Keywords
This publication has 23 references indexed in Scilit:
- Towards a Big Data Curated Benchmark of Inter-project Code Clones2014
- Evaluating Modern Clone Detection Tools2014
- A code clone oracle2014
- Searching for better configurations: a rigorous approach to clone evaluation2013
- Software clone detection: A systematic reviewInformation and Software Technology, 2013
- An Analysis and Survey of the Development of Mutation TestingIEEE Transactions on Software Engineering, 2010
- Empirical evaluation of clone detection using syntax suffix treesEmpirical Software Engineering, 2008
- NICAD: Accurate Detection of Near-Miss Intentional Clones Using Flexible Pretty-Printing and Code Normalization2008
- Towards a mutation-based automatic framework for evaluating code clone detection tools2008
- Evaluating clone detection tools for use during preventative maintenance2002