OdegVul: An Approach for Statement-Level Defect Prediction
-
Published:2023-11-20
Issue:
Volume:
Page:1-27
-
ISSN:0218-1940
-
Container-title:International Journal of Software Engineering and Knowledge Engineering
-
language:en
-
Short-container-title:Int. J. Soft. Eng. Knowl. Eng.
Author:
Yin Guoqiang1ORCID,
Wang Wei1ORCID,
Li Haiyan2ORCID
Affiliation:
1. Software School, Yunnan University, Kunming 650091, P. R. China
2. School of Information, Yunnan University, Kunming 650504, P. R. China
Abstract
Defect prediction research has been conducted for more than 40 years, with the goal of estimating the defect-prone blocks of source code. Prior studies, however, had two major limitations: (1) coarse-grained defect prediction results and (2) weak long-term dependencies modeling. As a result, developers need to review the prediction results to figure out which function or even which line of code produced the issue. In this study, we present OdegVul, a novel statement-level defect prediction model, to address these concerns. To capture both semantic and structural relationships between statements, a statement representation framework combining deep learning and graph neural networks is designed. Then the long-term dependencies between statements are encoded as a partial differential equation of a graph neural network. Through the experiment of 32 releases of 9 open-source Java projects, we found that semantic and structural dependencies are crucial to statement-level defect prediction. OdegVul outperforms other state-of-the-art (SOTA) predictors and achieves reasonable performance in cross-project statement-level defect prediction scenarios. The finer granularity of predicting results reduces the developer’s workforce in reviewing the prediction results and increases the practicality of the defect prediction model. The source code of OdegVul is available at https://github.com/CoderYinDaqiang/OdegVul.
Funder
National Natural Science Foundation of China
Publisher
World Scientific Pub Co Pte Ltd
Subject
Artificial Intelligence,Computer Graphics and Computer-Aided Design,Computer Networks and Communications,Software