  In recent years, deep learning (DL)-based methods have been widely used in
code vulnerability detection. The DL-based methods typically extract structural
information from source code, e.g., code structure graph, and adopt neural
networks such as Graph Neural Networks (GNNs) to learn the graph
representations. However, these methods fail to consider the heterogeneous
relations in the code structure graph, i.e., the heterogeneous relations mean
that the different types of edges connect different types of nodes in the
graph, which may obstruct the graph representation learning. Besides, these
methods are limited in capturing long-range dependencies due to the deep levels
in the code structure graph. In this paper, we propose a Meta-path based
Attentional Graph learning model for code vulNErability deTection, called
MAGNET. MAGNET constructs a multi-granularity meta-path graph for each code
snippet, in which the heterogeneous relations are denoted as meta-paths to
represent the structural information. A meta-path based hierarchical
attentional graph neural network is also proposed to capture the relations
between distant nodes in the graph. We evaluate MAGNET on three public datasets
and the results show that MAGNET outperforms the best baseline method in terms
of F1 score by 6.32%, 21.50%, and 25.40%, respectively. MAGNET also achieves
the best performance among all the baseline methods in detecting Top-25 most
dangerous Common Weakness Enumerations (CWEs), further demonstrating its
effectiveness in vulnerability detection.
