提高开源软件缺陷定位精度的TPA方法:二次传播与信息融合

需积分: 10 0 下载量 182 浏览量 更新于2024-08-13 收藏 1.17MB PDF 举报
本文主要探讨了一种名为"TPA"的基于二次传播的开源软件缺陷定位方法,其目标是提升开源软件缺陷定位的精度。该方法结合了重启随机游走算法和标签传播算法,它在传统的信息检索基础上,对开源软件的缺陷定位策略进行了创新。 首先,TPA方法从三个关键角度进行分析:一是软件模块间的调用关系,这有助于理解代码逻辑中的依赖性和交互性;二是模块风险度评估,通过分析软件的历史修改信息,识别哪些模块可能包含更多的缺陷;三是历史缺陷报告,利用已修复的缺陷作为标签,为未解决的缺陷提供可能的位置线索。 风险度传播部分,算法利用模块间的相关度和调用关系,根据修改记录来计算每个模块的潜在风险。而标签传播部分则利用已有的缺陷标签,通过标签传播过程逐步扩散到其他相关模块,从而更精确地定位缺陷所在。 在实验验证阶段,TPA方法在Eclipse 3.1的缺陷报告数据集上表现出色,top-N rank和Mean Reciprocal Rank (MRR)指标均优于同类缺陷定位方法,这表明其在实际应用中具有较高的准确度。这种方法对于开源软件开发者、维护者以及依赖开源软件的用户来说,是一项重要的优化工具,因为它可以有效地节省定位和修复缺陷的时间,提高软件质量。 TPA方法通过巧妙地融合了不同算法和技术,为开源软件缺陷定位提供了一种新颖且高效的解决方案,其在实际应用中展现出的高准确度和实用性值得进一步研究和推广。