Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ICSME.2014.54guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Evaluating Modern Clone Detection Tools

Published: 29 September 2014 Publication History

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.

Cited By

View all
  • (2023)Exploring the Impact of Code Clones on Deep Learning SoftwareACM Transactions on Software Engineering and Methodology10.1145/360718132:6(1-34)Online publication date: 3-Jul-2023
  • (2022)Predicting Buggy Code Clones through Machine LearningProceedings of the 32nd Annual International Conference on Computer Science and Software Engineering10.5555/3566055.3566070(130-139)Online publication date: 15-Nov-2022
  • (2021)The Existence and Co-Modifications of Code Clones within or across MicroservicesProceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1145/3475716.3475784(1-11)Online publication date: 11-Oct-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICSME '14: Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution
September 2014
666 pages
ISBN:9781479961467

Publisher

IEEE Computer Society

United States

Publication History

Published: 29 September 2014

Author Tags

  1. bellon's benchmark
  2. benchmark
  3. clone detection
  4. modern
  5. mutation and injection framework
  6. precision
  7. recall

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Exploring the Impact of Code Clones on Deep Learning SoftwareACM Transactions on Software Engineering and Methodology10.1145/360718132:6(1-34)Online publication date: 3-Jul-2023
  • (2022)Predicting Buggy Code Clones through Machine LearningProceedings of the 32nd Annual International Conference on Computer Science and Software Engineering10.5555/3566055.3566070(130-139)Online publication date: 15-Nov-2022
  • (2021)The Existence and Co-Modifications of Code Clones within or across MicroservicesProceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1145/3475716.3475784(1-11)Online publication date: 11-Oct-2021
  • (2021)MPI-CorrBenchProceedings of the 30th International Symposium on High-Performance Parallel and Distributed Computing10.1145/3431379.3460652(69-80)Online publication date: 21-Jun-2021
  • (2020)srcCloneProceedings of the 28th International Conference on Program Comprehension10.1145/3387904.3389271(274-284)Online publication date: 13-Jul-2020
  • (2019)Comparing bug replication in regular and micro code clonesProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00022(81-92)Online publication date: 25-May-2019
  • (2019)SiameseEmpirical Software Engineering10.1007/s10664-019-09697-724:4(2236-2284)Online publication date: 1-Aug-2019
  • (2019)Will this clone be short-lived? Towards a better understanding of the characteristics of short-lived clonesEmpirical Software Engineering10.1007/s10664-018-9645-224:2(937-972)Online publication date: 1-Apr-2019
  • (2018)CCAlignerProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180179(1066-1077)Online publication date: 27-May-2018
  • (2018)A comparison of code similarity analysersEmpirical Software Engineering10.1007/s10664-017-9564-723:4(2464-2519)Online publication date: 1-Aug-2018
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media