Page 263 - 《软件学报》2024年第6期
P. 263
向毅 等: 基于多样性 SAT 求解器和新颖性搜索的软件产品线测试 2839
表 6 dSATNS 与主流算法比较的 p 值 (Friedman 检验). 加粗表示无显著差异 (显著性水平 α = 0.05 )
对比算法 N=4 N=6 N=10 N=50 N=100
dSATNS vs. TSEGA ≈0 0.000 004 0.000 066 0.095 836 0.040 104
dSATNS vs. TSENS 0.000 001 0.000 066 0.000 866 0.175 244 0.088 36
dSATNS vs. SAT4J ≈0 ≈0 ≈0 ≈0 ≈0
RQ3 的答案如下: 与主流算法相比, 本文提出的 dSATNS 取得了最优的整体性能表现. 尤其是, 当测试集规模
较小时, 本文算法具有明显优势, 故非常适合于测试资源有限的情形.
5.5.4 参数 P r 对算法性能的影响 (RQ4)
以 0.1 为步长, 将 P r 的值从 0.0 增加到 1.0. 对 P r 的每个值, 考虑 N=4, 10 和 100 这 3 种情形, 在 ModelTrans-
formation, Automotive01 和 2.6.28.6-icse11 这 3 个特征模型上独立运行 dSATNS 算法 30 次. 注意以上模型分别可
视为小规模、中等规模和大规模特征模型的代表. 实验结果 (即覆盖率) 以箱线图的形式给出, 见图 10. 如图所示,
对小规模的 ModelTransformation: 当 N=4 时, P r 取 0.0 的效果最差; 当 N=10 时, 随着 P r 的增大, 覆盖率略呈上升
趋势, 但整体相差不大; 当 N=100 时, 不同 P r 值对应的算法性能几乎无差异. 对中等规模的 Automotive01, 当
N=4 时, P r 取 0.0 或 1.0 的效果要差于其他取值; 而当 N=10 或 100 时, 随着 P r 的增大, 覆盖率整体呈下降趋势. 对
于大规模的 2.6.28.6-icse11, 当 N=4 时, P r 取 1.0 的效果最差, 取其他值的效果则相差不大; 当 N=10 和 100 时, P r
的最优取值分别为 0.1 和 0.0, 且当 P r 增大时, 算法的性能呈下降趋势. 综上, 虽然 P r 的最优取值同时受到 N 值及
待求解特征模型的影响, 但是我们可总结出以下规律.
• 不建议将 P r 取为两个极端值, 即 0.0 和 1.0. 这是因为 P r 取这两个值时, 总会在某些情形下获得较 (最) 差效果.
P r 从 0.1 增加到 0.9 时, 算法的性能或者差别不大, 或者呈下降趋势.
• 当
• 综合考虑上述两点, 为了折衷不同情形下的算法性能, 本文建议将 P r 取为一个非零的较小值, 如 0.1 等.
100.0
78.5 95.8
78.0 95.6 99.9
77.5
覆盖率 (%)
覆盖率 (%)
覆盖率 (%) 62.0
95.4
99.8
77.0
95.2
99.7
76.5
76.0 95.0
99.6
75.5 94.8
99.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
P r P r P r
(a) Model transformation (N=4) (b) Model transformation (N=10) (c) Model transformation (N=100)
63.5
78.5 96.6
63.0 78.0 96.4
覆盖率 (%) 62.5 覆盖率 (%) 77.5 覆盖率 (%) 96.2
77.0
76.5 96.0
61.5
76.0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
P r P r P r
(d) Automotive01 (N=4) (e) Automotive01 (N=10) (f) Automotive01 (N=100)
图 10 参数 P r 对算法性能的影响