Skip to content

Commit 2829d90

Browse files
aashishyadavallymallamanis
authored andcommitted
Create wang2023deepvd
1 parent f6fc942 commit 2829d90

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

_publications/wang2023deepvd

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
layout: publication
3+
title: "DeepVD: Toward Class-Separation Features for Neural Network Vulnerability Detection"
4+
authors: Wenbo Wang, Tien N. Nguyen, Shaohua Wang, Yi Li, Jiyuan Zhang, Aashish Yadavally
5+
conference: ICSE
6+
year: 2023
7+
additional_links:
8+
- {name: "website", url: "https://aashishyadavally.github.io/publication/C4"}
9+
- {name: "code", url: "https://github.com/deepvd2022/deepvd2022"}
10+
tags: ["vulnerability"]
11+
---
12+
The advances of machine learning (ML) including deep learning (DL) have enabled several approaches to implicitly learn vulnerable code patterns to automatically detect software vulnerabilities. A recent study showed that despite successes, the existing ML/DL-based vulnerability detection (VD) models are limited in the ability to distinguish between the two classes of vulnerability and benign code. We propose DeepVD, a graph-based neural network VD model that emphasizes on class-separation features between vulnerability and benign code. DeepVD leverages three types of class-separation features at different levels of abstraction: statement types (similar to Part-of-Speech tagging), Post-Dominator Tree (covering regular flows of execution), and Exception Flow Graph (covering the exception and error-handling flows). We conducted several experiments to evaluate DeepVD in a real-world vulnerability dataset of 303 projects with 13,130 vulnerable methods. Our results show that DeepVD relatively improves over the state-of-the-art ML/DL-based VD approaches 13%–29.6% in precision, 15.6%–28.9% in recall, and 16.4%–25.8% in F-score. Our ablation study confirms that our designed features and components help DeepVD achieve high class-separability for vulnerability and benign code.

0 commit comments

Comments
 (0)