BugPre: an intelligent software version-to-version bug prediction system using graph convolutional neural networks
Since defects in software may cause product fault and financial loss, it is essential to conduct software defect prediction (SDP) to identify the potentially defective modules, especially in the early stage of the software development lifecycle. Recently, cross-version defect prediction (CVDP) began...
Gespeichert in:
Veröffentlicht in: | Complex & Intelligent Systems 2023-08, Vol.9 (4), p.3835-3855 |
---|---|
Hauptverfasser: | , , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Since defects in software may cause product fault and financial loss, it is essential to conduct software defect prediction (SDP) to identify the potentially defective modules, especially in the early stage of the software development lifecycle. Recently, cross-version defect prediction (CVDP) began to draw increasing research interests, employing the labeled defect data of the prior version within the same project to predict defects in the current version. As software development is a dynamic process, the data distribution (such as defects) during version change may get changed. Recent studies utilize machine learning (ML) techniques to detect software defects. However, due to the close dependencies between the updated and unchanged code, prior ML-based methods fail to model the long and deep dependencies, causing a high false positive. Furthermore, traditional defect detection is performed on the entire project, and the detection efficiency is relatively low, especially on large-scale software projects. To this end, we propose
BugPre
, a CVDP approach to address these two issues.
BugPre
is a novel framework that only conducts efficient defect prediction on changed modules in the current version.
BugPre
utilizes variable propagation tree-based associated analysis method to obtain the changed modules in the current version. Besides,
BugPre
constructs graph leveraging code context dependences and uses a graph convolutional neural network to learn representative characteristics of code, thereby improving defect prediction capability when version changes occur. Through extensive experiments on open-source Apache projects, the experimental results indicate that our
BugPre
outperforms three state-of-the-art defect detection approaches, and the F1-score has increased by higher than 16%. |
---|---|
ISSN: | 2199-4536 2198-6053 |
DOI: | 10.1007/s40747-022-00848-w |