arrow
Return

Graph Neural Network for Source Code Defect Prediction

delete2022-01-01
delete25
delete
OA
AI
L
Lucija Šikić
A
Adrian Satja Kurdija
K
Klemo Vladimir
M
Marin Šilić *
DOI:10.1109/ACCESS.2022.3144598delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Predicting defective software modules before testing is a useful operation that ensures that the time and cost of software testing can be reduced. In recent years, several models have been proposed for this purpose, most of which are built using deep learning-based methods. However, most of these models do not take full advantage of a source code as they ignore its tree structure or they focus only on a small part of a code. To investigate whether and to what extent information from this structure can be beneficial in predicting defective source code, we developed an end-to-end model based on a convolutional graph neural network (GCNN) for defect prediction, whose architecture can be adapted to the analyzed software, so that projects of different sizes can be processed with the same level of detail. The model processes the information of the nodes and edges from the abstract syntax tree (AST) of the source code of a software module and classifies the module as defective or not defective based on this information. Experiments on open source projects written in Java have shown that the proposed model performs significantly better than traditional defect prediction models in terms of AUC and F-score. Based on the F-scores of the existing state-of-the-art models, the model has shown comparable predictive capabilities for the analyzed projects.
Keywords:
Codes
Software
Predictive models
Feature extraction
Task analysis
Graph neural networks
Data models
Software defect prediction
deep learning
graph neural network

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

U
University of Zagreb
Scholars:
1.8W
Papers: 1.3W
Citations: 1.1W