Page 177 - 《软件学报》2026年第5期
P. 177
2056 软件学报 2026 年第 37 卷第 5 期
用例相关性的计算次数. 由图 2 可看出, 与变体方法 Ours-1 相比, 所提方法整体性能提升最大, APFD 与 TETC 指
标分别平均提升 1.06% 和 19.84%. 其中, 在 TETC 指标上至少提升 11.45%, 最多提升可达 29.39%. 由此可知, 本文
对用例进行粗粒度分组, 可减少在覆盖信息和排序方面的处理时间, 更有效地提升排序方法的效率.
2) 迭代次数划定构件对方法性能的影响明显 (变体方法 Ours-2). 因经过多轮迭代后, 所有可能语句均已被覆
盖足够的次数, 若持续迭代, 被覆盖的语句再暴露问题的可能性会大大降低, 再使用精确的策略对剩余用例排序,
必会降低排序效率. TPG-TCP 在已达到足够覆盖次数情况下, 通过迭代次数划定操作将关键用例针对性地分为能
更快地暴露问题的用例组和剩余关键用例组, 对于剩余用例使用简单高效的策略进行排序, 以进一步提高排序效
率. 由图 2 可看出, 与变体方法 Ours-2 相比, 所提方法在效率方面提升明显, TETC 指标平均提升 6.13%, 至少提升
0.29%, 最多提升可达 13.72%. 之所以在 APFD 指标上未提升, 是因为迭代次数的划定对于有效性的影响非常小.
由此可知, 通过迭代次数划定对用例进行分组排序可使排序过程更加灵活和高效, 在提高排序性能上作用较大.
3) TP-Additional 策略构件对方法性能影响较大 (变体方法 Ours-3). 针对现有方法仅根据用例覆盖标准的整体
状态选择用例, 以及 Additional 策略随机性的选择会降低故障检测有效性这两个问题, TPG-TCP 采用以用例潜力
度为二次选择指标的 TP-Additional 策略, 可快速暴露潜在的重要问题. 由图 2 可看出, 与变体方法 Ours-3 相比, 所
提方法性能提升较大, APFD 与 TETC 指标分别平均提升 2.77% 和 2.55%. 其中, 在 APFD 指标上至少提升 1.06%,
最多提升可达 4.43%. 由此可知, 采用 TP-Additional 策略在一定程度上减少了 Additional 策略中随机因素的干扰,
可有效地提升排序方法的有效性.
4) 三构件相互配合使得排序方法性能达到最优. 由图 2 可看出, 与仅采用粗粒度用例分组构件的变体方法
Ours-4 相比, 所提方法在 APFD 与 TETC 指标分别平均提升 2.77% 和 11.26%; 与仅采用迭代次数划定构件的变体
方法 Ours-5 相比, 所提方法在 APFD 与 TETC 指标分别平均提升 2.79% 和 12.51%; 与仅采用 TP-Additional 策略
变体方法 Ours-6 相比, 所提方法在 APFD 与 TETC 指标分别平均提升 1.69% 和 30.48%. 本文方法 TPG-TCP 同时
运用粗粒度用例分组、迭代次数划定构件与 TP-Additional 策略这 3 个构件, 其评价指标在各数据集中均有所提
升. 由此可知, 这 3 个构件相互配合可使 TPG-TCP 方法排序效果达到最优.
APFD TETC 40 6.0 APFD TETC 40 6.0 APFD TETC 40
6.0
APFD提升值 (%) 3.6 24 TETC提升值 (%) APFD提升值 (%) 3.6 24 TETC提升值 (%) APFD提升值 (%) 3.6 24 TETC提升值 (%)
32
4.8
32
4.8
4.8
32
2.4
16
16
2.4
2.4
16
8
1.2
8
8
1.2
1.2
0
Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0 0 Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0 0 Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0
变体方法 变体方法 变体方法
(a) Flex数据集 (b) Tcas数据集 (c) Schedule2数据集
APFD TETC APFD TETC APFD TETC
6.0 40 6.0 40 6.0 40
APFD提升值 (%) 3.6 24 TETC提升值 (%) APFD提升值 (%) 3.6 24 TETC提升值 (%) APFD提升值 (%) 3.6 24 TETC提升值 (%)
4.8
4.8
32
4.8
32
32
2.4
2.4
16
16
16
2.4
8
8
1.2
1.2
1.2
8
0
Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0 0 Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0 0 Ours-1 Ours-2 Ours-3 Ours-4 Ours-5 Ours-6 0
变体方法 变体方法 变体方法
(d) Jsoup数据集 (e) Jacksoncore数据集 (f) Camel-core 数据集
图 2 TPG-TCP 与各变体方法在不同数据集上的性能比较
综上分析可知: ① 与直接对原始用例集进行排序方法相比, 经过粗粒度用例分组后的用例充分利用了用例间
的覆盖信息, 使得在后续排序过程中对于用例信息的访问更加高效, 可更快速地优化排序过程. ② 通过迭代次数
划定, 可对关键用例集进一步划分, 在保证检测质量的同时, 提升检测效率. ③ TP-Additional 策略在 Additional 策
略中加入用例潜力度这个二次排序指标, 可有效缓解 Additional 策略随机性的选择对故障检测有效性造成的影响,
提升排序方法的有效性. ④ 粗粒度用例分组构件、迭代次数划定构件与 TP-Additional 策略构件的组合是合理、
有效的, 对于本文方法性能的提升具有非常重要的作用, 尤其在排序效率方面.

