Learning to map source code to software vulnerability using code-as-a-graph
Not on the map. Why?
Abstract (arXiv)
We explore the applicability of Graph Neural Networks in learning the nuances of source code from a security perspective. Specifically, whether signatures of vulnerabilities in source code can be learned from its graph representation, in terms of relationships between nodes and edges. We create a pipeline we call AI4VA, which first encodes a sample source code into a Code Property Graph. The extracted graph is then vectorized in a manner which preserves its semantic information. A Gated Graph Neural Network is then trained using several such graphs to automatically extract templates differentiating the graph of a vulnerable sample from a healthy one. Our model outperforms static analyzers, classic machine learning, as well as CNN and RNN-based deep learning models on two of the three datasets we experiment with. We thus show that a code-as-graph encoding is more meaningful for vulnerability detection than existing code-as-photo and linear sequence encoding approaches. (Submitted Oct 2019, Paper #28, ICST)
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). First posted on arXiv 15 Jun 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 5; 2022: 0; 2023: 2; 2024: 2.
9 papers.
- 2021D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using Differential Analysiscited by 48
- 2021Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detectioncited by 34
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
- 2024Use of Graph Neural Networks in Aiding Defensive Cyber Operationscited by 7
- 2023A Unified Active Learning Framework for Annotating Graph Data with Application to Software Source Code Performance Predictioncited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2021Code2Image: Intelligent Code Analysis by Computer Vision Techniques and Application to Vulnerability Predictioncited by 2
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspectioncited by 1
- 2023ActiveClean: Generating Line-Level Vulnerability Data via Active Learningcited by 0
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024Use of Graph Neural Networks in Aiding Defensive Cyber Operations11 Jan 2024
- 2023ActiveClean: Generating Line-Level Vulnerability Data via Active Learning4 Dec 2023
- 2023A Unified Active Learning Framework for Annotating Graph Data with Application to Software Source Code Performance Prediction6 Apr 2023
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatements20 Dec 2021
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspection10 Nov 2021
- 2021Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detection24 Jul 2021
- 2021Code2Image: Intelligent Code Analysis by Computer Vision Techniques and Application to Vulnerability Prediction7 May 2021
- 2021D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using Differential Analysis16 Feb 2021