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 的性能改进是统计显著的.