Twin-Finder: Integrated Reasoning Engine for Pointer-related Code Clone Detection
Hongfa Xue, Yongsheng Mei, Kailash Gogineni, Guru Venkataramani, Tian, Lan

TL;DR
Twin-Finder is a novel integrated reasoning engine that combines machine learning and symbolic execution to accurately detect pointer-related code clones, significantly reducing false positives and outperforming existing tools.
Contribution
It introduces a formal verification and feedback mechanism that enhances clone detection precision by tuning machine learning models with formal rules.
Findings
Identifies up to 9 times more code clones than Deckard.
Removes an average of 91.69% false positives.
Effectively combines machine learning with symbolic execution for clone detection.
Abstract
Detecting code clones is crucial in various software engineering tasks. In particular, code clone detection can have significant uses in the context of analyzing and fixing bugs in large scale applications. However, prior works, such as machine learning-based clone detection, may cause a considerable amount of false positives. In this paper, we propose Twin-Finder, a novel, closed-loop approach for pointer-related code clone detection that integrates machine learning and symbolic execution techniques to achieve precision. Twin-Finder introduces a clone verification mechanism to formally verify if two clone samples are indeed clones and a feedback loop to automatically generated formal rules to tune machine learning algorithm and further reduce the false positives. Our experimental results show that Twin-Finder can swiftly identify up 9X more code clones comparing to a tree-based clone…
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.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques
