Title :
Evaluating Modern Clone Detection Tools
Author :
Svajlenko, J. ; Roy, C.K.
Author_Institution :
Dept. of Comput. Sci., Univ. of Saskatchewan, Saskatoon, SK, Canada
fDate :
Sept. 29 2014-Oct. 3 2014
Abstract :
Many clone detection tools and techniques have been introduced in the literature, and these tools have been used to manage clones and study their effects on software maintenance and evolution. However, the performance of these modern tools is not well known, especially recall. In this paper, we evaluate and compare the recall of eleven modern clone detection tools using four benchmark frameworks, including: (1) Bellon´s Framework, (2) our modification to Bellon´s Framework to improve the accuracy of its clone matching metrics, (3) Murakamki et al.´s extension of Bellon´s Framework which adds type 3 gap awareness to the framework, and (4) our Mutation and Injection Framework. Bellon´s Framework uses a curated corpus of manually validated clones detected by tools contemporary to 2002. In contrast, our Mutation and Injection Framework synthesizes a corpus of artificial clones using a cloning taxonomy produced in 2009. While still very popular in the clone community, there is some concern that Bellon´s corpus may not be accurate for modern clone detection tools. We investigate the accuracy of the frameworks by (1) checking for anomalies in their results, (2) checking for agreement between the frameworks, and (3) checking for agreement with our expectations of these tools. Our expectations are researched and flexible. While expectations may contain inaccuracies, they are valuable for identifying possible inaccuracies in a benchmark. We find anomalies in the results of Bellon´s Framework, and disagreement with both our expectations and the Mutation Framework. We conclude that Bellon´s Framework may not be accurate for modern tools, and that an update of its corpus with clones detected by the modern tools is warranted. The results of the Mutation Framework agree with our expectations in most cases. We suggest that it is a good solution for evaluating modern tools.
Keywords :
data mining; program testing; software maintenance; source code (software); artificial clones; clone community; clone detection tools; clone matching metrics; software maintenance; Accuracy; Benchmark testing; Cloning; Java; Manuals; Measurement; Software systems; bellon´s benchmark; benchmark; clone detection; modern; mutation and injection framework; precision; recall;
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
Conference_Location :
Victoria, BC
DOI :
10.1109/ICSME.2014.54