English

StoneDetector: Conventional and versatile code clone detection for Java

Software Engineering 2026-02-03 v2 Programming Languages

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 tool and analyze its various available configuration parameters, including the usage of different string metrics, hashing algorithms, etc. In our exhaustive evaluation with other conventional clone detectors on several state-of-the-art benchmarks, we can show StoneDetector's performance and scalability in finding code clones in both, Java source and Bytecode.

Cite

@article{arxiv.2508.03435,
  title  = {StoneDetector: Conventional and versatile code clone detection for Java},
  author = {Thomas S. Heinze and André Schäfer and Wolfram Amme},
  journal= {arXiv preprint arXiv:2508.03435},
  year   = {2026}
}

Comments

This is the accepted manuscript of a paper accepted for publication in The Journal of Systems and Software (Elsevier), the final published version will be available via the journal