重新审视依赖网络度量对软件缺陷预测的影响
软件工程
2022-02-15 v1
摘要
通过应用社交网络分析(SNA度量)从软件模块的依赖图中提取的软件依赖网络度量,已被证明能够提升软件缺陷预测(SDP)模型的性能。然而,这些SNA度量相较于代码度量在提升SDP模型性能方面的相对有效性一直存在广泛争议,尚未形成明确共识。此外,一些常见的SDP场景,如跨版本和跨项目SDP语境下预测模块中的缺陷数量(缺陷计数),仍未被探索。这种相较于广泛使用的代码度量、关于SNA度量有效性的明确指导的缺失,阻碍了我们有可能构建性能更优的SDP模型。因此,通过对9个开源软件项目跨越30个版本进行案例研究,我们研究了在3种常用SDP语境(项目内、跨版本和跨项目)和场景(缺陷计数、缺陷分类(分类模块是否有缺陷)和投入感知(依据所涉投入对缺陷模块排序))下,SNA度量相较于代码度量的相对有效性。我们发现,在研究的9个SDP场景(跨三种SDP语境的三种SDP场景)中的5个上,单独使用SNA度量或将其与代码度量结合使用,相比仅使用代码度量提升了SDP模型的性能。然而,我们注意到,在某些情况下,考虑SNA度量替代或辅以代码度量所带来的提升可能仅是边际性的,而在其他情况下提升可能相当大。基于这些发现,我们建议未来的工作应:在其SDP模型中将SNA度量与代码度量结合使用;以及在训练SDP模型时,将SNA度量的两种不同类型——自我中心度量和全局度量——分开考虑,因为它们的表现不同。
引用
@article{arxiv.2202.06145,
title = {Revisiting the Impact of Dependency Network Metrics on Software Defect Prediction},
author = {Lina Gong and Gopi Krishnan Rajbahadur and Ahmed E. Hassan and Shujuan Jiang},
journal= {arXiv preprint arXiv:2202.06145},
year = {2022}
}