Automated software vulnerability detection with machine learning
Not on the map. Why?
Abstract (arXiv)
Thousands of security vulnerabilities are discovered in production software each year, either reported publicly to the Common Vulnerabilities and Exposures database or discovered internally in proprietary code. Vulnerabilities often manifest themselves in subtle ways that are not obvious to code reviewers or the developers themselves. With the wealth of open source code available for analysis, there is an opportunity to learn the patterns of bugs that can lead to security vulnerabilities directly from data. In this paper, we present a data-driven approach to vulnerability detection using machine learning, specifically applied to C and C++ programs. We first compile a large dataset of hundreds of thousands of open-source functions labeled with the outputs of a static analyzer. We then compare methods applied directly to source code with methods applied to artifacts extracted from the build process, finding that source-based models perform better. We also compare the application of deep neural network models with more traditional models such as random forests and find the best performance comes from combining features learned by deep models with tree-based models. Ultimately, our highest performing model achieves an area under the precision-recall curve of 0.49 and an area under the ROC curve of 0.87.
Key facts. Cited by 34 papers in the map (data through 7 Oct 2026). First posted on arXiv 14 Feb 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 10; 2022: 6; 2023: 5; 2024: 8; 2025: 5.
34 papers.
Sort:
By area:
- 2024A Closer Look at AUROC and AUPRC under Class Imbalancecited by 56
- 2021PalmTree: Learning an Assembly Language Model for Instruction Embeddingcited by 49
- 2022An Exploratory Study on Code Attention in BERTcited by 12
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learningcited by 11
- 2024ChatNVD: Advancing Cybersecurity Vulnerability Assessment with Large Language Modelscited by 11
- 2021On using distributed representations of source code for the detection of C security vulnerabilitiescited by 10
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurationscited by 9
- 2024A Survey of Large Language Models in Cybersecuritycited by 8
- 2025SV-TrustEval-C: Evaluating Structure and Semantic Reasoning in Large Language Models for Source Code Vulnerability Analysiscited by 8
- 2022Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detectioncited by 6
- 2021Exploiting Method Names to Improve Code Summarization: A Deliberation Multi-Task Learning Approachcited by 5
- 2021Software Vulnerability Detection via Deep Learning over Disaggregated Code Graph Representationcited by 5
22 more
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2024CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generationcited by 4
- 2021Multi-context Attention Fusion Neural Network for Software Vulnerability Identificationcited by 3
- 2022Test2Vec: An Execution Trace Embedding for Test Case Prioritizationcited by 3
- 2025VULPO: Context-Aware Vulnerability Detection via On-Policy LLM Optimizationcited by 3
- 2021A comparative study of neural network techniques for automatic software vulnerability detectioncited by 2
- 2023HyMo: Vulnerability Detection in Smart Contracts using a Novel Multi-Modal Hybrid Modelcited by 2
- 2024Dynamic Neural Control Flow Execution: An Agent-Based Deep Equilibrium Approach for Binary Vulnerability Detectioncited by 2
- 2021Social Media Monitoring for IoT Cyber-Threatscited by 1
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognitioncited by 1
- 2022DCDetector: An IoT terminal vulnerability mining system based on distributed deep ensemble learning under source code representationcited by 1
- 2024Enhancing Source Code Classification Effectiveness via Prompt Learning Incorporating Knowledge Featurescited by 1
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisonscited by 0
- 2022Featherweight Assisted Vulnerability Discoverycited by 0
- 2023A Structural Approach to the Design of Domain Specific Neural Network Architecturescited by 0
- 2023Sequential Graph Neural Networks for Source Code Vulnerability Identificationcited by 0
- 2023Feature Engineering-Based Detection of Buffer Overflow Vulnerability in Source Code Using Neural Networkscited by 0
- 2023VULNERLIZER: Cross-analysis Between Vulnerabilities and Software Librariescited by 0
- 2024Direction for Detection: A Survey of Automated Vulnerability Detection and all of its Pain Pointscited by 0
- 2025You Only Train Once: A Flexible Training Framework for Code Vulnerability Detection Driven by Vul-Vectorcited by 0
- 2025Retrieval-Augmented Few-Shot Prompting Versus Fine-Tuning for Code Vulnerability Detectioncited by 0
- 2025Retrieval-Augmented Few-Shot Prompting Versus Fine-Tuning for Code Vulnerability Detection28 Nov 2025
- 2025VULPO: Context-Aware Vulnerability Detection via On-Policy LLM Optimization14 Nov 2025
- 2025SV-TrustEval-C: Evaluating Structure and Semantic Reasoning in Large Language Models for Source Code Vulnerability Analysis27 May 2025
- 2025You Only Train Once: A Flexible Training Framework for Code Vulnerability Detection Driven by Vul-Vector12 Mar 2025
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurations4 Feb 2025
- 2024Direction for Detection: A Survey of Automated Vulnerability Detection and all of its Pain Points15 Dec 2024
- 2024ChatNVD: Advancing Cybersecurity Vulnerability Assessment with Large Language Models6 Dec 2024
- 2024CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation3 May 2024
- 2024Dynamic Neural Control Flow Execution: An Agent-Based Deep Equilibrium Approach for Binary Vulnerability Detection3 Apr 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024A Survey of Large Language Models in Cybersecurity26 Feb 2024
- 2024A Closer Look at AUROC and AUPRC under Class Imbalance11 Jan 2024
22 more
- 2024Enhancing Source Code Classification Effectiveness via Prompt Learning Incorporating Knowledge Features10 Jan 2024
- 2023VULNERLIZER: Cross-analysis Between Vulnerabilities and Software Libraries18 Sep 2023
- 2023Feature Engineering-Based Detection of Buffer Overflow Vulnerability in Source Code Using Neural Networks1 Jun 2023
- 2023Sequential Graph Neural Networks for Source Code Vulnerability Identification23 May 2023
- 2023HyMo: Vulnerability Detection in Smart Contracts using a Novel Multi-Modal Hybrid Model25 Apr 2023
- 2023A Structural Approach to the Design of Domain Specific Neural Network Architectures23 Jan 2023
- 2022DCDetector: An IoT terminal vulnerability mining system based on distributed deep ensemble learning under source code representation29 Nov 2022
- 2022Test2Vec: An Execution Trace Embedding for Test Case Prioritization28 Jun 2022
- 2022An Exploratory Study on Code Attention in BERT5 Apr 2022
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognition5 Apr 2022
- 2022Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection25 Feb 2022
- 2022Featherweight Assisted Vulnerability Discovery6 Feb 2022
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learning5 Dec 2021
- 2021Social Media Monitoring for IoT Cyber-Threats9 Sep 2021
- 2021Software Vulnerability Detection via Deep Learning over Disaggregated Code Graph Representation7 Sep 2021
- 2021On using distributed representations of source code for the detection of C security vulnerabilities1 Jun 2021
- 2021A comparative study of neural network techniques for automatic software vulnerability detection29 Apr 2021
- 2021Multi-context Attention Fusion Neural Network for Software Vulnerability Identification19 Apr 2021
- 2021Exploiting Method Names to Improve Code Summarization: A Deliberation Multi-Task Learning Approach21 Mar 2021
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisons15 Mar 2021
- 2021Learning to Make Compiler Optimizations More Effective24 Feb 2021
- 2021PalmTree: Learning an Assembly Language Model for Instruction Embedding21 Jan 2021
- 2024A Closer Look at AUROC and AUPRC under Class Imbalancecited by 56
- 2021PalmTree: Learning an Assembly Language Model for Instruction Embeddingcited by 49
- 2022An Exploratory Study on Code Attention in BERTcited by 12
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learningcited by 11
- 2024ChatNVD: Advancing Cybersecurity Vulnerability Assessment with Large Language Modelscited by 11
- 2021On using distributed representations of source code for the detection of C security vulnerabilitiescited by 10
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurationscited by 9
- 2024A Survey of Large Language Models in Cybersecuritycited by 8
- 2022Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detectioncited by 6
- 2021Exploiting Method Names to Improve Code Summarization: A Deliberation Multi-Task Learning Approachcited by 5
- 2021Software Vulnerability Detection via Deep Learning over Disaggregated Code Graph Representationcited by 5
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
12 most cited of 30 All 30 (JSON)
- 2025You Only Train Once: A Flexible Training Framework for Code Vulnerability Detection Driven by Vul-Vector12 Mar 2025
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurations4 Feb 2025
- 2024Direction for Detection: A Survey of Automated Vulnerability Detection and all of its Pain Points15 Dec 2024
- 2024ChatNVD: Advancing Cybersecurity Vulnerability Assessment with Large Language Models6 Dec 2024
- 2024Dynamic Neural Control Flow Execution: An Agent-Based Deep Equilibrium Approach for Binary Vulnerability Detection3 Apr 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024A Survey of Large Language Models in Cybersecurity26 Feb 2024
- 2024A Closer Look at AUROC and AUPRC under Class Imbalance11 Jan 2024
- 2024Enhancing Source Code Classification Effectiveness via Prompt Learning Incorporating Knowledge Features10 Jan 2024
- 2023VULNERLIZER: Cross-analysis Between Vulnerabilities and Software Libraries18 Sep 2023
- 2023Feature Engineering-Based Detection of Buffer Overflow Vulnerability in Source Code Using Neural Networks1 Jun 2023
- 2023Sequential Graph Neural Networks for Source Code Vulnerability Identification23 May 2023
12 newest of 30 All 30 (JSON)