Page 116 - 《软件学报》2025年第5期
P. 116
2016 软件学报 2025 年第 36 卷第 5 期
● 研究问题 3: TREC 约减时间是否比其他方法更少?
● 研究问题 4: TREC 中控件粒度、页面布局粒度约减模块在约减效果与效率上分别表现如何?
● 研究问题 5: TREC 中环路间、环路内约减模块在约减效果上分别表现如何?
在研究问题 1 和 2 中, 我们对各方法约减后的测试序列进行验证, 检测其是否可正确触发程序崩溃, 并对各方
法约减后的测试序列长度进行对比. 在研究问题 3 中, 我们对各方法生成约减序列的时间进行了记录, TREC 方法
需要对测试序列进行一次事件标记, 涉及生命周期相关事件监测及应用静态数据流分析, 我们同样对其时间进行
了记录. 我们还对每个方法约减时间进行了配对 t 检验以分析其是否在统计学意义上有显著差异, 其计算结果显
著性 p 值越小, 说明样本数据代表的总体差异越大, 一般认为 p < 0.05 时, 代表两者有显著差异. 此外, TREC 采用
控件、页面布局两个精度结合的约减策略, 因此我们在研究问题 4 中对这两个模块在这 3 个指标上分别进行检
验, 以分析每个约减模块是否有效, 从而检测 TREC 这种多精度结合的约减策略是否有效. 研究问题 4 对不同粒度
约减效果进行了分析, 在此基础上, 我们在研究问题 5 中对每个粒度的约减模块内部的约减算法进行了进一步分
析, 具体来说, 在第 3.4 节最短路径搜索中算法 3 及算法 4 分别进行了环路间约减以及环路内约减, 而能否在尽量
少次的约减中去除无效环路会直接影响算法效率, 因此在此问题中我们将会对环路约减具体表现进行探讨. 最后,
由于 TREC 方法中包含了无效事件去除, 而测试序列长度会影响测试指标的结果 (尤其是测试效率), 因此, 为了公
平性, 我们统一对测试序列中无效事件进行去除, 然后将测试序列输入给 TREC、SimplyDroid、ECHO 这 3 个方
法进行约减.
4.4 实验结果与分析
4.4.1 研究问题 1: 约减结果正确性分析
表 2 给出了 TREC 与两个对比方法约减后的序列能否触发程序崩溃的验证结果, 其中最左侧两列分别是每个
测试序列的标号及序列长度 (即序列包含事件数量), 右侧“崩溃”中 Y 代表约减后序列可触发程序崩溃, N 则代表
无法触发.
表 2 方法 TREC、ECHO、SimplyDroid 约减效果与效率表
ECHO SimplyDroid TREC
ID 总长度
长度 时间 (min) 崩溃 长度 时间 (min) 崩溃 长度 标记时间 (min) 约减时间 (min) 总时间 (min) 崩溃
1 98 6 22.31 N 12 949.79 Y 12 17.80 300.10 317.90 Y
2 98 6 34.79 N 14 646.63 Y 12 41.15 458.56 499.71 Y
3 141 6 38.18 N 20 13 804.50 Y 12 41.99 454.94 496.93 Y
4 106 6 23.89 N 78 21 864.08 N 12 32.51 255.26 287.77 Y
5 64 6 25.25 N 16 787.39 N 12 17.18 213.21 230.39 Y
6 104 6 24.76 N 60 10 783.38 N 12 30.54 296.10 326.64 Y
7 146 8 33.15 N 90 30 591.68 N 14 16.23 318.58 334.81 Y
8 101 6 28.88 N 17 4 360.93 Y 12 15.20 384.22 399.42 Y
9 73 2 19.67 N 4 123.90 Y 3 13.16 99.53 112.69 Y
10 41 3 21.40 N 5 771.37 Y 8 28.09 296.58 324.67 Y
11 49 2 22.70 N 9 600.53 Y 3 35.70 18.44 54.14 Y
12 48 2 22.22 N 3 145.79 Y 3 11.16 14.08 25.24 Y
13 70 2 23.93 N 3 9.80 Y 3 38.64 9.20 47.84 Y
14 68 2 21.90 N 3 24.62 Y 3 19.92 4.97 24.89 Y
15 87 2 20.82 N 3 149.34 Y 3 22.49 568.85 591.34 Y
16 66 7 37.03 N 3 412.91 Y 6 12.55 168.80 181.35 Y
17 124 2 20.60 N 8 1 794.57 Y 5 20.58 2 061.91 2 082.49 Y
18 61 5 27.62 Y 3 991.01 Y 5 14.33 50.09 64.42 Y
19 52 5 27.46 Y 6 116.47 Y 5 27.92 34.07 61.99 Y
20 50 5 30.36 Y 7 339.66 Y 5 14.16 41.81 55.97 Y
21 61 5 27.06 Y 6 602.01 Y 5 32.42 56.51 88.93 Y
22 83 5 39.86 Y 7 366.19 Y 5 37.20 37.97 75.17 Y