Authors:
Abir M’baya
and
Nejib Moalla
Affiliation:
Universite Lumiere Lyon 2, DISP Laboratory, 160 Boulervard de Universite, 69500, Bron, France
Keyword(s):
Just-in-Time Defect Prediction, Semantic Features, Deep Learning, DGCNN, Code Property Graph.
Abstract:
Change-level defect prediction which is also known as just-in-time defect prediction, will not only improve the software quality and reduce costs, but also give more accurate and earlier feedback to developers than traditional file-level defect prediction. To build just-in-time defect prediction models, most existing approaches focused on using manually traditional features (metrics of code change), and exploited different machine learning. However, those approaches fail to capture the semantic differences between code changes and the dependency information within programs; and consequently do not cover all types of bugs. Such information has an important role to play in improving the accuracy of the defect prediction model. In this paper, to bridge this research gap, we propose an end to end deep learning framework that extracts features from the code change automatically. To this purpose, we present the code change by code property sub-graphs (CP-SG) extracted from code property gr
aphs (CPG) that merges existing concepts of classic program analysis, namely abstract syntax tree (AST), control flow graphs (CFG) and program dependence graphs (PDG). Then, we apply a deep graph convolutional neural network (DGCNN) that takes as input the selected features. The experimental results prove that our approach can significantly improve the baseline method DBN-based features by an average of 20.86 percentage points for within-project and 32.85 percentage points for cross-project.
(More)