Automated Vulnerability Detection in Source Code Using Deep Representation Learning
Rebecca L. Russell, Louis Kim, Lei H. Hamilton, Tomo Lazovich, Jacob, A. Harer, Onur Ozdemir, Paul M. Ellingwood, Marc W. McConley

TL;DR
This paper presents a scalable machine learning system that uses deep feature representation learning to automatically detect vulnerabilities in C and C++ source code, leveraging large open-source datasets and static analysis labels.
Contribution
It introduces a large-scale labeled dataset of open-source functions and a novel deep learning approach for vulnerability detection directly from source code.
Findings
Effective detection of vulnerabilities in real software and benchmark datasets.
Deep feature representation learning outperforms traditional static analysis methods.
Scalable and fast vulnerability detection tool developed.
Abstract
Increasing numbers of software vulnerabilities are discovered every year whether they are reported publicly or discovered internally in proprietary code. These vulnerabilities can pose serious risk of exploit and result in system compromise, information leaks, or denial of service. We leveraged the wealth of C and C++ open-source code available to develop a large-scale function-level vulnerability detection system using machine learning. To supplement existing labeled vulnerability datasets, we compiled a vast dataset of millions of open-source functions and labeled it with carefully-selected findings from three different static analyzers that indicate potential exploits. The labeled dataset is available at: https://osf.io/d45bw/. Using these datasets, we developed a fast and scalable vulnerability detection tool based on deep feature representation learning that directly interprets…
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.
