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  在超过一
                 半的单缺陷案例中一次检查即可定位到缺陷语句.
   292   293   294   295   296   297   298   299   300   301   302