Page 177 - 《软件学报》2026年第7期
P. 177
2862 软件学报 2026 年第 37 卷第 7 期
4 实验结果分析
4.1 INSPECT 方法是否具有良好的缺陷定位有效性
为了评估所提出 INSPECT 方法的能力, 本研究问题选取缺陷定位领域现有最先进技术 SmartFL 作为基线方
法进行比较. 虽然前期所提 EXPECT 方法的缺陷定位有效性已被证实超过 SmartFL, 但其主要使用目标是那些原
本就具备异常处理代码的待测程序, 难以在本文主要面向的异常处理语句缺失场景下充分发挥作用, 因此不将其
作为基线方法. 如第 3.2 节所述, 实验创建了 INSPECT C 、INSPECT O 、INSPECT D 和 INSPECT N 这 4 种变体, 以更
加充分地检验方法缺陷定位有效性. 实验结果如表 2 和表 3 所示, 其中第 2–4 列展示了 INSPECT 的 4 种变体和基
线方法 SmartFL 在 3 个方面的 EXAM 指标值, 括号里的百分数是前者相较于后者的提升幅度; 第 5 列展示了各个
方法的 MRR 指标值并在括号里给出了提升幅度; 第 6 列和第 7 列展示了 INSPECT 的 4 种变体在 WSR 指标的
NB 和 B 两项单边备择假设上的 P 值, 其反映了拒绝备择假设对应的原假设的统计显著性.
表 2 INSPECT 方法缺陷定位有效性 (模拟缺陷)
方法 EXAM_Best EXAM_Average EXAM_Worst MRR WSR_NB WSR_B
SmartFL 13.27 13.27 13.27 0.220 6 - -
0.63 (95.25%↑) 5.85 (55.92%↑) 11.06 (16.65%↑) 0.907 7 (311.47%↑) 2.40E−102 5.49E−93
INSPECT C
0.63 (95.25%↑) 5.86 (55.84%↑) 11.06 (16.65%↑) 0.909 1 (312.10%↑) 2.40E−102 5.49E−93
INSPECT O
0.63 (95.25%↑) 5.85 (55.92%↑) 11.07 (16.58%↑) 0.909 0 (312.06%↑) 2.40E−102 5.49E−93
INSPECT D
5.88 (55.69%↑) 11.10 (16.35%↑) 16.31 0.896 6 (306.44%↑) 4.86E−101 2.47E−92
INSPECT N
表 3 INSPECT 方法缺陷定位有效性 (真实缺陷)
方法 EXAM_Best EXAM_Average EXAM_Worst MRR WSR_NB WSR_B
SmartFL 12.86 12.86 12.86 0.241 5 - -
0.85 (93.39%↑) 5.46 (57.54%↑) 11.07 (13.92%↑) 0.925 7 (283.31%↑) 2.18E−14 1.28E−12
INSPECT C
INSPECT O 0.85 (93.39%↑) 5.46 (57.54%↑) 11.07 (13.92%↑) 0.925 7 (283.31%↑) 2.18E−14 1.28E−12
0.85 (93.39%↑) 5.46 (57.54%↑) 11.07 (13.92%↑) 0.925 7 (283.31%↑) 2.18E−14 1.28E−12
INSPECT D
INSPECT N 34.58 39.19 43.80 0.909 1 (276.44%↑) 3.62E−14 1.28E−12
以对表 2 的分析为例, 可以发现, 对于 EXAM 指标, INSPECT 的 4 种变体在最好情况下相较于基线方法均取
得了明显提升, 提升幅度最高为 95.25%、最低为 55.69%; 在平均情况下, INSPECT 的 4 种变体相较于基线方法的
提升幅度有一定下降, 但最高仍达 55.92%、最低为 16.35%; 在最差情况下, 除 INSPECT N 外, 其他 3 种变体的提
升幅度均在 16% 以上. 在 MRR 指标上, INSPECT 的 4 种变体相较于基线方法的提升在 306.44%–312.10% 之间.
在 WSR 指标中, 根据 NB 和 B 两项单边备择假设的 P 值, 可以认为应当拒绝备择假设对应的原假设, 从统计学的
角度出发, INSPECT 的缺陷定位有效性显著超过了基线方法. 在表 3 中, 对于 EXAM 指标, INSPECT C 、INSPECT O 、
INSPECT D 这 3 种变体相较于基线方法均取得了明显提升, 在最好、平均和最差情况下的提升幅度分别为
93.39%、57.54% 和 13.92%, INSPECT N 的表现则相对较低. 在 MRR 指标上, INSPECT 的 4 种变体相较于基线方
法的提升在 276.44%–283.31% 之间. 在 WSR 指标中, 根据 NB 和 B 两项单边备择假设的 P 值, 可以认为应当拒绝
备择假设对应的原假设, 从统计学的角度出发, INSPECT 的缺陷定位有效性显著超过了基线方法. 综上所述,
INSPECT C 、INSPECT O 和 INSPECT D 在各种指标下的缺陷定位有效性均明显超过现有最优方法. 上述结果表明,
在不含异常处理语句的待测错误程序上, INSPECT 能够取得相较现有 SOTA 方法更好的缺陷定位效果, 将程序异
常信息这一有效的缺陷定位信息源泛化到了更加普适的真实环境.
4.2 INSPECT 方法能否有效缓解相同风险值语句造成的 Tie 问题
本研究问题讨论 INSPECT 受 Tie 问题影响的程度, 将 INSPECT C 、INSPECT O 、INSPECT D 和 INSPECT N 这
4 种变体与其在程序语句风险值评估任务中分别引入以缓解 Tie 问题的 4 种 SBFL 技术 (即 Crosstab、Ochiai、

