Industrial-Scale Neural Network Clone Detection with Disk-Based Similarity Search

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Code clones are similar code fragments that often arise from copy-and-paste programming. Neural networks can classify pairs of code fragments as clone/not-clone with high accuracy. However, finding clones in industrial-scale code needs a more scalable approach than pairwise comparison. We extend existing neural network-based clone detection schemes to handle codebases that far exceed available memory, using indexing and search methods for external storage such as disks and solid-state drives. We generate a high-dimensional vector embedding for each code fragment using a transformer-based neural network. We then find similar embeddings using efficient multidimensional nearest neighbor search algorithms on external storage to find similar embeddings without pairwise comparison. We identify specific problems with industrial-scale code bases, such as large sets of almost identical code fragments that interact poorly with k-nearest neighbour search algorithms, and provide an effective solution. We demonstrate that our disk-based clone search approach achieves similar clone detection accuracy as an equivalent in-memory technique. Using a solid-state drive as external storage, our approach is around 2 x slower than the in-memory approach for a problem size that can fit within memory. We further demonstrate that our approach can scale to over a billion lines of code, providing valuable insights into the trade-offs between indexing speed, query performance, and storage efficiency for industrial-scale code clone detection.

Original languageEnglish
Title of host publicationProceedings - 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2025
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages522-532
Number of pages11
ISBN (Electronic)9798331535100
DOIs
Publication statusPublished - 2025
Event32nd IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2025 - Montreal, Canada
Duration: 4 Mar 20257 Mar 2025

Publication series

NameProceedings - 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2025

Conference

Conference32nd IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2025
Country/TerritoryCanada
CityMontreal
Period4/03/257/03/25

Keywords

  • Code clone detection
  • external search
  • Faiss
  • Milvus
  • nearest neighbour search
  • scalable program analysis

Fingerprint

Dive into the research topics of 'Industrial-Scale Neural Network Clone Detection with Disk-Based Similarity Search'. Together they form a unique fingerprint.

Cite this