当前位置: X-MOL 学术Complex Intell. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
BugPre: an intelligent software version-to-version bug prediction system using graph convolutional neural networks
Complex & Intelligent Systems ( IF 5.0 ) Pub Date : 2022-08-27 , DOI: 10.1007/s40747-022-00848-w
Zixu Wang , Weiyuan Tong , Peng Li , Guixin Ye , Hao Chen , Xiaoqing Gong , Zhanyong Tang

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%.



中文翻译:

BugPre:使用图卷积神经网络的智能软件版本到版本错误预测系统

由于软件缺陷可能导致产品故障和经济损失,因此必须进行软件缺陷预测(SDP)以识别潜在缺陷模块,尤其是在软件开发生命周期的早期阶段。最近,跨版本缺陷预测(CVDP)开始引起越来越多的研究兴趣,利用同一项目中先前版本的标记缺陷数据来预测当前版本中的缺陷。由于软件开发是一个动态过程,版本更改期间的数据分布(例如缺陷)可能会发生变化。最近的研究利用机器学习 (ML) 技术来检测软件缺陷。然而,由于更新代码和未更改代码之间的紧密依赖关系,先前基于 ML 的方法无法对长而深的依赖关系进行建模,从而导致高误报。此外,传统的缺陷检测是对整个项目进行,检测效率相对较低,尤其是在大型软件项目上。为此,我们提出BugPre,一种解决这两个问题的 CVDP 方法。BugPre是一个新颖的框架,仅对当前版本中更改的模块进行有效的缺陷预测。BugPre利用基于变量传播树的关联分析方法来获取当前版本中更改的模块。此外,BugPre利用代码上下文依赖构建图,并使用图卷积神经网络来学习代码的代表性特征,从而提高版本变化时的缺陷预测能力。通过对开源 Apache 项目的大量实验,实验结果表明我们的BugPre优于三种最先进的缺陷检测方法,F1 分数提高了 16% 以上。

更新日期:2022-08-27
down
wechat
bug