Page 298 - 《软件学报》2026年第7期
P. 298
王海宁 等: 融合因果效应的高效软件产品线缺陷定位方法 2983
SBFL S-SBFL VarCop FCS-FL
80
案例数占比 (%) 60
40
20
0
Hit@1 Hit@2 Hit@3
图 7 FCS-FL 与基准方法在单缺陷案例中的 Hit@1–Hit@3 比较 (案例总数: 260)
5.3 多缺陷情形下根因定位能力的比较 (RQ3)
图 8(a) 展示了 FCS-FL 与基准方法使用 OP2 指标在所有多缺陷案例下的 Hit@1–Hit@3. 从图中可以看出,
FCS-FL 在 Hit@1 上展现出了明显优势, 即 FCS-FL 能够在超过 35% 的案例中将其中一条缺陷语句排序至第 1 的
位置, 而基准方法均低于 25%, 尤其是 SBFL 和 S-SBFL 低于 5%. 这是因为提出的因果图模型约简了因果关系, 减
轻多个缺陷语句之间产生的混杂影响, 从而提升了根因定位的准确性. 相比于 VarCop, FCS-FL 在 Hit@1 的优势
较 Hit@2 和 Hit@3 更明显, 因为 FCS-FL 在更多的案例中可以将缺陷语句排序至第 1, 而 VarCop 在更多的案例中
只能将缺陷语句排序至第 2 或第 3. 此外, 尽管多缺陷案例的定位更加复杂且困难, FCS-FL 仍能在超过 70% 的案
例中在前 3 条可疑语句中找到缺陷语句.
60 SBFL S-SBFL
80
SBFL S-SBFL VarCop FCS-FL VarCop FCS-FL
70 50
60 40
案例数占比 (%) 50 PBL 30
40
20
30
20 10
10
0
0 2 4 6 8 10
Hit@1 Hit@2 Hit@3 被检测语句的数量
(a) Hit@1–Hit@3的比较 (案例总数: 999) (b) PBL的比较
图 8 FCS-FL 与基准方法在多缺陷案例上性能的比较
图 8(b) 展示了 FCS-FL 与基准方法在 PBL 指标上的比较. 结果显示, FCS-FL 在所有的多缺陷案例中检查第 1 条
语句即可检查出约 17% 的缺陷语句, 明显优于基准方法, 这也说明了 FCS-FL 具有更优的根因定位性能. SBFL 和
S-SBFL 由于未考虑特征级定位, 更多不相关的程序语句会影响缺陷语句的排名, 因此它们在检查一条语句时的
PBL 接近 0. 提出的方法的 PBL 曲线与 VarCop 较为接近, 但检查前 10 条语句时, FCS-FL 的 PBL 均更优. 这是因
为两种方法计算语句可疑性都考虑了基于产品和单元测试的频谱效应, 而 FCS-FL 额外考虑了程序的因果关系,
从而提升了方法缺陷定位的性能.
因此, 对于 RQ3 可得到以下答案. 相比于基准方法, FCS-FL 在多缺陷案例中具有更优的根因定位能力. 此外,
实验结果说明了提出的约简的因果图模型能够准确计算语句对测试结果的因果效应, 也说明了与频谱效应融合后
可以更准确地定位到缺陷语句.

