摘要
arXiv:2410.19550v2 宣布类型: 替换-交叉
摘要: 软件缺陷预测(SDP)旨在识别软件开发中的高风险缺陷模块,优化资源分配。虽然先前的研究表明依赖网络度量可以提高缺陷预测的准确性,但大多数方法关注的是基于代码的依赖图,忽视了开发人员因素。现有的基于手工构造特征(如自我和全局网络度量)的指标未能充分捕捉缺陷相关的信息。为了解决这个问题,我们提出了一种名为DeMuVGN的缺陷预测模型,通过图神经网络学习多视角软件依赖关系。我们引入了一个多视角软件依赖图(MSDG),该图综合了数据、调用和开发人员依赖关系。DeMuVGN还利用合成少数类过采样技术(SMOTE)来解决类别不平衡问题,增强缺陷模块的识别能力。在对20个版本的8个开放源代码项目进行案例研究中,DeMuVGN展示了显著的改进:i)基于多视角图的模型在F1分数上比单视角模型提高了11.1%到12.1%;ii)DeMuVGN在项目内部上下文中的F1分数提高了17.4%到45.8%,在跨项目上下文中提高了17.9%到41.0%。此外,DeMuVGN在软件演化方面表现出色,对后期软件版本的改进更为显著。其在不同项目上的强大表现突显了其泛化能力。我们建议未来的研究将多视角依赖图应用于成熟和新开发项目的缺陷预测。