A Vulnerability Detection Framework Based on Graph Decomposition Fusion and Augmented Abstract Syntax Tree

Nowadays, the method of using deep learning models for vulnerability detection is widely applied. Most of the methods convert the code of the program into a graph, and then use graph learning methods to get features. Although these methods have shown good accuracy in vulnerability detection, there are still some issues to be addressed: (1) When dealing with large scale functions or long codes, graph-based feature extraction methods will discard some features to meet the model input length limit. (2) Many deep learning methods convert code into code property graph (CPG). Since CPG contains a lot of function information, the model needs to extract information related to vulnerability characteristics from a lot of irrelevant information. To mitigate these issues, we use CPG's composite view approach and use augmented abstract syntax trees. Specifically, the input source code is used to build the CPG, and the abstract syntax tree AST (tree view) is decomposed from the CPG, and then the AST constructs a graph based on the augmented AST and uses GraphCodeBERT to extract its features. Flow view includes control flow graph (CFG) and program dependency graph (PDG) extracted from CPG, and these graphs are extracted and fused for features. Finally, CNN is used to fuse the graph features obtained from tree view and flow view, and finally perform vulnerability classification detection.

Authors

Institutions

Publication Details

Published
2025-01-10
DOI
https://doi.org/10.1145/3727353.3727471
Citations
1
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
3.25
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Vulnerability Detection Framework Based on Graph Decomposition Fusion and Augmented Abstract Syntax Tree

Yalong Yu, Cheng Zhang
1 citations
Software Engineering Research
3.25
article

A Vulnerability Detection Framework Based on Graph Decomposition Fusion and Augmented Abstract Syntax Tree

Yalong Yu, Cheng Zhang
article en
1 citations

Abstract

Nowadays, the method of using deep learning models for vulnerability detection is widely applied. Most of the methods convert the code of the program into a graph, and then use graph learning methods to get features. Although these methods have shown good accuracy in vulnerability detection, there are still some issues to be addressed: (1) When dealing with large scale functions or long codes, graph-based feature extraction methods will discard some features to meet the model input length limit. (2) Many deep learning methods convert code into code property graph (CPG). Since CPG contains a lot of function information, the model needs to extract information related to vulnerability characteristics from a lot of irrelevant information. To mitigate these issues, we use CPG's composite view approach and use augmented abstract syntax trees. Specifically, the input source code is used to build the CPG, and the abstract syntax tree AST (tree view) is decomposed from the CPG, and then the AST constructs a graph based on the augmented AST and uses GraphCodeBERT to extract its features. Flow view includes control flow graph (CFG) and program dependency graph (PDG) extracted from CPG, and these graphs are extracted and fused for features. Finally, CNN is used to fuse the graph features obtained from tree view and flow view, and finally perform vulnerability classification detection.

Anhui University (CN)
Openalex Percentile: Top 9%
Software Engineering Research
3.25
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.