Page 297 - 《软件学报》2026年第7期
P. 297
2982 软件学报 2026 年第 37 卷第 7 期
表 2 FCS-FL 与 VarCop 检查的特征交互数和平均运行时间比较
检查特征数 运行时间
系统 特征数
VarCop FCS-FL 减少比例 (%) VarCop (s) FCS-FL (s) 减少比例 (%)
Elevator-FH-JML 6 73 36 50.7 0.002 0.001 50
BankAccountTP 8 731 443 39.4 0.038 0.031 18
ExamDB 8 117 115 0 0.002 0.002 0
Email-FH-JML 9 1 103 729 33.9 0.039 0.034 13
ZipMe 13 3 079 1 471 52.2 0.094 0.087 7
GPL 27 9 646 128 3 875 392 59.8 4 216.437 2 481.130 41
综上, 实验结果说明本文提出的可疑特征交互识别方法相较于基准方法在效率上具有明显提升. 相比于现有
方法, 基于可疑特征交互去重策略可以避免生成和检查大量重复的特征交互, 实现在大多数系统中少检查
33.9%–59.8% 的特征交互. 此外, 对于更大规模的 SPL 系统, 如 GPL, 在特征交互数随特征数指数式增长的情况下,
FCS-FL 减少的运行时间比例仍有 41%, 这很好地回答了 RQ1.
5.2 单缺陷情形下定位能力的比较 (RQ2)
表 3 和表 4 分别展示了 FCS-FL 与基准算法在单缺陷案例下的 Rank 和 EXAM. 结果显示, FCS-FL 和基准算
法都在使用 OP2 指标时表现出更优的定位能力, 这意味着 OP2 指标更适合用于选择的 SPL 系统. 无论使用哪种
SBFL 指标, FCS-FL 的 Rank 和 EXAM 相比于基准方法都是最优的. 在 OP2 指标中, FCS-FL 显著优于 FB, 因为
FB 仅关注二阶特征交互, 无法准确地实现特征层缺陷定位. 此外, 提出的方法在 5 种 SBFL 指标下的平均 Rank 值
相比于 SBFL 和 S-SBFL 分别提升了 3.94 和 2.04, 这表明 SBFL 直接应用于 SPL 系统无法获得较优的定位性能.
相比于 VarCop, FCS-FL 在 Rank 和 EXAM 上分别提升了 0.25 和 0.17, 这是因为提出的因果模型可以提升可疑语
句评估的准确性. 因此, FCS-FL 在单缺陷案例上的缺陷定位性能相比于基准方法具有足够的优势.
表 3 FCS-FL 与基准方法使用不同 SBFL 指标下的 Rank 比较
SBFL指标 FCS-FL VarCop S-SBFL SBFL FB
Tarantula 5.65 5.97 7.79 12.27 104.56
Ochiai 4.85 5.07 6.89 7.95 90.19
OP2 4.17 4.26 5.24 5.33 77.93
Barinel 6.71 7.11 9.73 12.27 104.56
Dstar 4.63 4.83 6.54 7.89 87.94
表 4 FCS-FL 与基准方法在不同 SBFL 指标下的 EXAM 比较
SBFL指标 FCS-FL VarCop S-SBFL SBFL FB
Tarantula 1.49 1.69 2.45 3.25 17.58
Ochiai 1.29 1.42 1.73 1.92 14.01
OP2 1.15 1.36 1.56 1.56 12.72
Barinel 1.74 1.94 2.44 3.25 17.58
Dstar 1.27 1.40 1.68 1.90 13.65
图 7 展示了所提方法与基准方法在单缺陷案例中 Hit@1–Hit@3 所占案例数的比例. 从图中可以看出, 在单缺
陷的情况下, FCS-FL 的 Hit@1–Hit@3 相比于基准方法均有提升, 尤其是 Hit@1. 由于因果效应和频谱效应的融合,
FCS-FL 能够在更多的案例中将缺陷语句排序至第 1 的位置, 因此 Hit@1 的表现更为优越. 此外, FCS-FL 在超过
46% 的案例中首次检查即可发现缺陷语句, 并且在超过 80% 的案例中仅需检查前 3 条语句即可定位到缺陷语句.
对于 RQ2, 实验结果说明了在单缺陷案例中, FCS-FL 的缺陷定位能力更加准确. 无论使用哪种 SBFL 指标,
FCS-FL 都可以得到最优的定位性能. 对于根因定位能力, FCS-FL 较基准方法有明显提升, 使用 FCS-FL 在超过一
半的单缺陷案例中一次检查即可定位到缺陷语句.

