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         在多缺陷案例中具有更优的根因定位能力. 此外,
                 实验结果说明了提出的约简的因果图模型能够准确计算语句对测试结果的因果效应, 也说明了与频谱效应融合后
                 可以更准确地定位到缺陷语句.
   293   294   295   296   297   298   299   300   301   302   303