Sequential Graph Neural Networks for Source Code Vulnerability Identification

Ammar Ahmed, Anwar Said, Mudassir Shabbir, Xenofon Koutsoukos
5/23/2023
cs.CRcs.LG

No confident code implementation found for this paper.

Abstract

Vulnerability identification constitutes a task of high importance for cyber security. It is quite helpful for locating and fixing vulnerable functions in large applications. However, this task is rather challenging owing to the absence of reliable and adequately managed datasets and learning models. Existing solutions typically rely on human expertise to annotate datasets or specify features, which is prone to error. In addition, the learning models have a high rate of false positives. To bridge this gap, in this paper, we present a properly curated C/C++ source code vulnerability dataset, denoted as CVEFunctionGraphEmbeddings (CVEFGE), to aid in developing models. CVEFGE is automatically crawled from the CVE database, which contains authentic and publicly disclosed source code vulnerabilities. We also propose a learning framework based on graph neural networks, denoted SEquential Graph Neural Network (SEGNN) for learning a large number of code semantic representations. SEGNN consists of a sequential learning module, graph convolution, pooling, and fully connected layers. Our evaluations on two datasets and four baseline methods in a graph classification setting demonstrate state-of-the-art results.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{ahmed2023sequential,
  title  = {Sequential Graph Neural Networks for Source Code Vulnerability Identification},
  author = {Ammar Ahmed and Anwar Said and Mudassir Shabbir and Xenofon Koutsoukos},
  year   = {2023},
  eprint = {2306.05375},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.05375v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.05375.svg)](https://codeofpaper.com/paper/2306.05375)

Discussion