Integrated Reasoning Engine for Pointer-related Code Clone Detection
Detecting similar code fragments, usually referred to as code clones, is an important task. In particular, code clone detection can have significant uses in the context of vulnerability discovery, refactoring and plagiarism detection. However, false positives are inevitable and always require manual...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Detecting similar code fragments, usually referred to as code clones, is an
important task. In particular, code clone detection can have significant uses
in the context of vulnerability discovery, refactoring and plagiarism
detection. However, false positives are inevitable and always require manual
reviews. 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
formal verification mechanism to automate such manual reviews process. Our
experimental results show Twin-Finder+ that can remove 91.69% false positives
in average. We further conduct security analysis for memory safety using
real-world applications, Links version 2.14 and libreOffice-6.0.0.1.
Twin-Finder+ is able to find 6 unreported bugs in Links version 2.14 and one
public patched bug in libreOffice-6.0.0.1. |
---|---|
DOI: | 10.48550/arxiv.2105.11933 |