Research

Paper

TESTING February 26, 2026

Automated Vulnerability Detection in Source Code Using Deep Representation Learning

Authors

C. Seas, G. Fitzpatrick, J. A. Hamilton, M. C. Carlisle

Abstract

Each year, software vulnerabilities are discovered, which pose significant risks of exploitation and system compromise. We present a convolutional neural network model that can successfully identify bugs in C code. We trained our model using two complementary datasets: a machine-labeled dataset created by Draper Labs using three static analyzers and the NIST SATE Juliet human-labeled dataset designed for testing static analyzers. In contrast with the work of Russell et al. on these datasets, we focus on C programs, enabling us to specialize and optimize our detection techniques for this language. After removing duplicates from the dataset, we tokenize the input into 91 token categories. The category values are converted to a binary vector to save memory. Our first convolution layer is chosen so that the entire encoding of the token is presented to the filter. We use two convolution and pooling layers followed by two fully connected layers to classify programs into either a common weakness enumeration category or as ``clean.'' We obtain higher recall than prior work by Russell et al. on this dataset when requiring high precision. We also demonstrate on a custom Linux kernel dataset that we are able to find real vulnerabilities in complex code with a low false-positive rate.

Metadata

arXiv ID: 2602.23121
Provider: ARXIV
Primary Category: cs.CR
Published: 2026-02-26
Fetched: 2026-02-27 04:35

Related papers

Raw Data (Debug)
{
  "raw_xml": "<entry>\n    <id>http://arxiv.org/abs/2602.23121v1</id>\n    <title>Automated Vulnerability Detection in Source Code Using Deep Representation Learning</title>\n    <updated>2026-02-26T15:35:17Z</updated>\n    <link href='https://arxiv.org/abs/2602.23121v1' rel='alternate' type='text/html'/>\n    <link href='https://arxiv.org/pdf/2602.23121v1' rel='related' title='pdf' type='application/pdf'/>\n    <summary>Each year, software vulnerabilities are discovered, which pose significant risks of exploitation and system compromise. We present a convolutional neural network model that can successfully identify bugs in C code. We trained our model using two complementary datasets: a machine-labeled dataset created by Draper Labs using three static analyzers and the NIST SATE Juliet human-labeled dataset designed for testing static analyzers. In contrast with the work of Russell et al. on these datasets, we focus on C programs, enabling us to specialize and optimize our detection techniques for this language. After removing duplicates from the dataset, we tokenize the input into 91 token categories. The category values are converted to a binary vector to save memory. Our first convolution layer is chosen so that the entire encoding of the token is presented to the filter. We use two convolution and pooling layers followed by two fully connected layers to classify programs into either a common weakness enumeration category or as ``clean.'' We obtain higher recall than prior work by Russell et al. on this dataset when requiring high precision. We also demonstrate on a custom Linux kernel dataset that we are able to find real vulnerabilities in complex code with a low false-positive rate.</summary>\n    <category scheme='http://arxiv.org/schemas/atom' term='cs.CR'/>\n    <category scheme='http://arxiv.org/schemas/atom' term='cs.AI'/>\n    <published>2026-02-26T15:35:17Z</published>\n    <arxiv:primary_category term='cs.CR'/>\n    <arxiv:journal_ref>2024 IEEE 14th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 2024, pp. 0484-0490</arxiv:journal_ref>\n    <author>\n      <name>C. Seas</name>\n    </author>\n    <author>\n      <name>G. Fitzpatrick</name>\n    </author>\n    <author>\n      <name>J. A. Hamilton</name>\n    </author>\n    <author>\n      <name>M. C. Carlisle</name>\n    </author>\n    <arxiv:doi>10.1109/CCWC60891.2024.10427574</arxiv:doi>\n    <link href='https://doi.org/10.1109/CCWC60891.2024.10427574' rel='related' title='doi'/>\n  </entry>"
}