StoneDetector: Conventional and versatile code clone detection for Java
Thomas S. Heinze, Andr\'e Sch\"afer, Wolfram Amme

TL;DR
StoneDetector is a versatile tool for detecting various types of code clones in Java source code and Bytecode, using textual comparison of dominator tree paths, and demonstrates strong performance and scalability.
Contribution
It introduces a novel clone detection method based on dominator tree path comparison, capable of identifying syntactically diverse code clones in Java.
Findings
Effective detection of exact and near-miss clones.
Good performance and scalability on benchmark datasets.
Versatile configuration options for different clone types.
Abstract
Copy & paste is a widespread practice when developing software and, thus, duplicated and subsequently modified code occurs frequently in software projects. Since such code clones, i.e., identical or similar fragments of code, can bloat software projects and cause issues like bug or vulnerability propagation, their identification is of importance. In this paper, we present StoneDetector and its underlying method for finding code clones in Java source and Bytecode. StoneDetector implements a conventional clone detection approach based upon the textual comparison of paths derived from the code's representation by dominator trees. In this way, the tool does not only find exact and syntactically similar near-miss code clones, but also code clones that are harder to detect due to their larger variety in the syntax. We demonstrate StoneDetector's versatility as a conventional clone detection…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
