Page 259 - 《软件学报》2024年第6期
P. 259
向毅 等: 基于多样性 SAT 求解器和新颖性搜索的软件产品线测试 2835
形”始终远高于“退化情形”.
从以上实验结果及分析, 可得出以下结论.
• U 检验和 ˆ A 12 效应量均表明, 当 N 较小时, 采用了多样化求解器的 dSATNS 算法更倾向于获得更高的覆盖率;
而当 N 较大时, 在绝大多数模型上覆盖率的差别并不显著. 上述现象可解释如下: 随着 N 的增大, 相应测试集能潜
在地覆盖更多的 t-集合. 当 N 足够大时, 任何随机产生的测试集都有可能覆盖 (将近) 所有的 t-集合. 此时, 是否采
用多样性求解器仅会带来很小的差异.
• U 检验和 ˆ A 12 效应量均表明, 无论 N 取何值, 采用了多样化求解器的 dSATNS 算法都更倾向于获得更高的缺
陷检测率.
100 100
→ → ~ → → ~
82
80 80
62 64 60 62
百分比 (%) 40 36 52 40 百分比 (%) 40 46 40 50 44 52 36 36 52
60
56
N=100
20 26 34
20 14 18 20 14 12
8 8 10 6 12
4 4
0 0
N=4 N=6 N=10 N=50 N=100 N=4 N=6 N=10 N=50 N=100
(a) 覆盖率 (b) 缺陷检测率
图 3 dSATNS 算法不同情形所占的百分比
因此, RQ1 的答案已明确: 在本文所提算法中, 采用多样化的 SAT 求解器的确有助于提高软件产品线测试的
覆盖率和缺陷检测率.
5.5.2 采用两种归档策略的必要性 (RQ2)
图 4 给出了 TwoArch 与 GloArch 比较的 U 检验结果. 如图所示, 无论是覆盖率还是缺陷检测率, TwoArch (显
著) 优于 GloArch (•) 的百分比始终大于等于 TwoArch 表现更差 (◦) 的百分比. 当 p j 时, TwoArch 的优势非常明显;
N ⩾ 50 时, 这两个算法在绝大多数 (90%+) 模型上并未有显著的性能差异. 由此可见, 全局档案策略虽然可在
而当
N 较大时取得较好的效果, 但当 N 较小时, 其性能具有很大的改善空间. 换言之, 采用两种档案策略一方面保持了
全局档案在 N 较大时的优良性能, 另一方面又有效规避了该档案在 N 较小时的性能退化.
100 96 96 100
• ◦ ± 90 90 • ◦ ± 92 92
80 80 78 78
64 58 60
百分比 (%) 40 36 42 百分比 (%) 40
60
22 22
20 20
10 10
4 4 6 4 4
0 0 0 0 0 0 0 0 2
0 0
N=4 N=6 N=10 N=50 N=4 N=6 N=10 N=50 N=100
(a) 覆盖率 (b) 缺陷检测率
图 4 TwoArch 与 GloArch 比较的 U 检验结果
类似地, 图 5 给出了 TwoArch 与 LocArch 比较的 U 检验结果. 与图 4 正好相反, 当 N ⩽ 10 时, TwoArch 的整
体性能表现稍逊于 LocArch; 但当 N ⩾ 50 时, TwoArch 整体要优于 LocArch. 由此可见, 局部档案策略对较小的 N