TL;DR
SySeVR is a systematic deep learning framework that uses syntax, semantics, and vector representations of source code to detect previously unreported and silently patched vulnerabilities in C/C++ programs.
Contribution
It is the first comprehensive framework applying deep learning to vulnerability detection in source code, integrating syntax and semantic information.
Findings
Detected 15 previously unreported vulnerabilities.
Identified 7 unknown vulnerabilities reported to vendors.
Found 8 vulnerabilities silently patched in newer software versions.
Abstract
The detection of software vulnerabilities (or vulnerabilities for short) is an important problem that has yet to be tackled, as manifested by the many vulnerabilities reported on a daily basis. This calls for machine learning methods for vulnerability detection. Deep learning is attractive for this purpose because it alleviates the requirement to manually define features. Despite the tremendous success of deep learning in other application domains, its applicability to vulnerability detection is not systematically understood. In order to fill this void, we propose the first systematic framework for using deep learning to detect vulnerabilities in C/C++ programs with source code. The framework, dubbed Syntax-based, Semantics-based, and Vector Representations (SySeVR), focuses on obtaining program representations that can accommodate syntax and semantic information pertinent to…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
