Page 180 - 《软件学报》2025年第10期
P. 180

李志强 等: SZZ  误标变更对移动      APP  即时缺陷预测性能和解释的影响                                    4577


                 MA-SZZ  和  RA-SZZ  模型预测结果中各度量元的解释. 在使用的数据集中, 正类表示有缺陷, 负类表示无缺陷. 图
                 中红色表示度量元对预测结果为有缺陷的贡献程度, 蓝色表示度量元对预测为无缺陷的贡献程度. 基于以上观察,
                 可以得出以下结论.


                                                    f(x)=0.78                                    f(x)=0.89
                   2.944=la              +0.16                  2.944=la                 +0.12

                  0=entropy      −0.06                         0=entropy              −0.05
                  4.126=rexp     +0.05                          5.118=lt              +0.04
                   0.693=nf     −0.04                          4.126=rexp       +0.04
                     1=fix      +0.04                           0.693=nf        −0.03
                  0.693=nuc     +0.01                          0.693=age        +0.03
                   0.693=ns  −0.01                             0.693=nuc        +0.02
                    5.118=lt   +0.01                              1=fix       +0.01
                  0.693=age    +0                               0.693=ld    +0.01
                   0.693=ld  −0
                                                                0.693=ns  −0
                          0.600 0.625 0.650 0.675 0.700 0.725 0.750 0.775 0.800  0.70  0.75  0.80  0.85  0.90
                            E[f(x)]=0.619
                                                                        E[f(x)]=0.69
                                       (a) B-SZZ                                   (b) AG-SZZ
                                                    f(x)=0.9                                     f(x)=0.92
                    2.944=la               +0.17               0.693=nuc                     +0.11
                   0=entropy         −0.06                       5.118=lt             +0.08
                  4.126=rexp         +0.05                      2.944=la         +0.06
                   0.693=nuc   +0.04                           0.693=age      +0.05
                   0.693=nf    −0.03                            0.693=nf      +0.02
                   0.693=age   +0.03                            0.693=ld  −0.02
                    0.693=ld   −0.03                           4.126=rexp    +0.02
                    5.118=lt   +0.03                           0=entropy    +0.01
                      1=fix    +0.01                              1=fix     +0.01
                    0.693=ns  −0.01                             0.693=ns  −0
                         0.65  0.70  0.75  0.80  0.85  0.90                0.6     0.7    0.8    0.9
                           E[f(x)]=0.687                                E[f(x)]=0.585
                                      (c) MA-SZZ                                   (d) RA-SZZ
                              图 6 类不平衡情况下       AntennaPod  项目上其中一个变更     (eeeff6203) 的局部解释

                    (1) 如图  6  所示, 对于  RA-SZZ  本次预测结果  f(x)=0.92>0, 表明该变更被预测为有缺陷, 且预测概率接近            1, 因
                 此可以认为该变更的缺陷程度较高. 由于该变更的预测结果为有缺陷, 本文重点关注对正类预测贡献较大的度
                 量元.
                    (2) 对于  RA-SZZ, nuc、lt 和  la 等度量元对模型的预测结果有正向贡献, 说明修改过的变更数量、变更前的代
                 码行数与增加的代码行数这些度量元取值越大更倾向于引入缺陷, 而                       ld  度量元则对预测结果有负向贡献, 说明减
                 少的代码行数越多越倾向于无缺陷. 为进一步分析, 观察到该变更                    la 实际的度量元值为      18, 这表明该变更引入了
                 18  行代码, 一次修改的代码较多.
   175   176   177   178   179   180   181   182   183   184   185