Page 261 - 《软件学报》2024年第6期
P. 261

向毅 等: 基于多样性     SAT  求解器和新颖性搜索的软件产品线测试                                          2837


                    类似地, 表   5  给出了  TwoArch  与  LocArch  关于覆盖率及缺陷检测率的      ˆ A 12  比较结果, 图  7  则展示了相应的改
                 进和退化情形随      N  的变化趋势. 与图    6  的趋势正好相反, “改进情形”整体呈上升趋势, 而“退化情形”则大体呈下降
                 趋势. 由此可知, 当    N  较大时, 两个归档策略较局部档案策略的优势更明显. 值得一提的是, 虽然表                     5  的数据表明,
                 当  N  较小时  TwoArch  较  LocArch  的“退化情形”所占百分比远高于“改进情形”, 但是这些差异的主要贡献来源于
                 s 幅度的效应量.

                                        表 5    TwoArch 与  LocArch  的   ˆ A 12  比较结果汇总 (%)

                    覆盖率      N=4   N=6   N=10  N=50  N=100    缺陷检测率        N=4  N=6   N=10  N=50   N=100
                         ↑    0     0     2     38     42            ↑      0    0     2     10     16
                    l                                          l
                         ↓    0     2     2     6      10            ↓      0    2     0      6     8
                         ↑    0     2     0     8      2             ↑      0    0     0      2     8
                   m                                          m
                         ↓    6     14    2     0      0             ↓      2    2     4      0     2
                         ↑    8     6     12    8      4             ↑      2    4     16    20     30
                   s                                           s
                         ↓    32    38    32    2      12            ↓     26    38    14    14     8
                         ↑    8     8     14    54     48            ↑      2    4     18    32     54
                  汇总     ↓    38    54    36    8      22    汇总      ↓     28    42    18    20     18
                         ~    54    38    50    38     30            ~     70    54    64    48     28
                 注: ↑: TwoArch更优; ↓: LocArch更优, ~: 二者性能相当

                        100                                       100
                                 覆盖率                                       覆盖率
                         80      缺陷检测率                            80       缺陷检测率
                      百分比 (%)  60                               百分比 (%)  60


                         40
                                                                  40
                         20                                       20

                         0           与各主流算法关于缺陷检测率的
                                                                   0
                             N=4   N=6   N=10  N=50  N=100             N=4   N=6   N=10  N=50  N=100
                                       (a) 改进情形                                  (b) 退化情形
                                 图 7 TwoArch  较  LocArch  的“改进情形”与“退化情形”随     N  的变化趋势

                    从以上实验结果及讨论得出以下结论.
                    • U  检验和   ˆ A 12  效应量的比较结果均表明, 仅采用全局档案策略适合          N  较大的情形, 而当    N  较小时, 其性能有
                 待进一步提升. 相反地, 仅采用局部档案策略适合              N  较小的情形.
                    • 同时采用两种档案策略可获得折衷效果, 即无论               N  取大或小, 其性能都不至于太差.
                    因此, RQ2  的答案也明确了: 在本文所提算法中, 采用两种归档策略是非常有必要的, 它能折衷仅使用全局或
                 局部归档策略的效果, 进而使得测试效果对测试集规模大小不敏感.
                  5.5.3    与主流算法的比较 (RQ3)
                    图  8  给出了  dSATNS                          U  检验结果. 这里仅给出缺陷检测率的实验结果, 主要
                 原因在于覆盖率和缺陷检测率得出的结论相似. 如图                   8(a) 和图  8(b) 所示, 无论  N  取何值, dSATNS  始终优于
                 TSEGA  和  TSENS. 而且, 当  N  较小时, dSATNS  的优势非常明显: dSATNS   表现显著更优的特征模型百分比远高
                 于其表现显著更差的特征模型百分比. 当             N  较大时  (如  N=50  和  100), 在  80%  以上的特征模型上, dSATNS  与其对
                 比算法并无显著的统计差异. 与          SAT4J 相比, 图  8(c) 表明, 无论  N  的取值, dSATNS  始终具有压倒性优势: 在     90%

                 及以上的特征模型上, dSATNS       较  SAT4J 的性能改进是统计显著的.
   256   257   258   259   260   261   262   263   264   265   266