Page 119 - 《软件学报》2025年第5期
P. 119
郝蕊 等: 基于事件标记的多粒度结合安卓测试序列约减 2019
出框上进行, 在 SimplyDroid 的结构抽象层次树中被视为大枝干中的独立小枝干, 无法进行组合操作的有效区分,
导致最终约减效率低下, 用时超过 5 h 且未约减成功.
1 308.52
1 300
1 100
897.70 815.55
900
677.76
时间差 (min) 700 504.28 383.43 537.85
359.61
500
221.79 273.01
300 174.28 156.44
100
−100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65
测试序列标号
图 3 SimplyDroid、TREC 运行时间差展示图
此外, 表 2 中也给出了 TREC 对每个测试序列的事件标记执行时间, 对于一些在控件粒度及页面布局粒度上
均通过最短路径触发程序崩溃的案例 (序列 63–66), 无需进行事件标记. 对于无需进行数据流依赖分析的测试序
列 (序列 55–62), 由于其仅需要通过分析测试脚本格式对环境改变、生命周期相关事件进行识别, 耗时很短, 基本
可以忽略. 而对于需要进行数据流依赖分析的测试序列, 其时间也基本小于 1 min, 对于整个测试序列约减流程效
率影响很小.
4.4.4 研究问题 4: 多粒度约减效果分析
表 3 给出了 TREC 分别在控件粒度约减、页面布局粒度约减上的表现, 其中右侧 3、5 列分别为约减后序列
长度, 括号内给出了约减比例, 右侧 4、6 代表约减总时间. 为了方便说明, 我们后续将控件粒度定义为前期约减,
页面布局粒度定义为后续约减. 可以看出, 测试序列在经过前期约减后, 一般可以去除 69.01%–97.33% 的事件, 而
后续约减模块则继续成功对 32 个 (占总数的 48.5%) 的序列进一步约减, 约减比例为 7.69%–89.41%. 特别的, 序
列 36、45 在前期约减后依然较长, 分别包括了 85 个和 51 个事件, 它们在后续约减中又被去除 76 和 43 个事件,
大大降低了开发者后续程序理解及复现的成本.
表 3 TREC 中控件粒度、页面布局粒度约减效果与效率表
控件粒度 页面布局粒度 控件粒度 页面布局粒度
ID 总长度 ID 总长度
长度 时间 (min) 长度 时间 (min) 长度 时间 (min) 长度 时间 (min)
1 98 12 (87.76%) 103.27 12 (0) 196.83 14 68 3 (95.59%) 4.89 3 (0) 0.08
2 98 13 (86.73%) 94.64 12 (7.69%) 363.92 15 87 12 (86.21%) 490.86 3 (75%) 77.99
3 141 12 (91.49%) 276.06 12 (0) 178.87 16 66 11 (83.33%) 77.07 6 (45.45%) 91.73
4 106 12 (88.68%) 96.49 12 (0) 158.77 17 124 8 (93.55%) 2 007.09 5 (37.5%) 54.82
5 64 12 (81.25%) 81.59 12 (0) 131.62 18 61 5 (91.8%) 25.05 5 (0) 25.05
6 104 12 (88.46%) 165.38 12 (0) 130.72 19 52 5 (90.38%) 21.43 5 (0) 12.64
7 146 14 (90.41%) 151.71 14 (0) 166.87 20 50 5 (90%) 19.52 5 (0) 22.29
8 101 12 (88.12%) 191.02 12 (0) 193.20 21 61 5 (91.8%) 17.12 5 (0) 39.38
9 73 3 (95.89%) 99.11 3 (0) 0.41 22 83 5 (93.98%) 15.69 5 (0) 22.29
10 41 9 (78.05%) 220.65 8 (11.11%) 75.93 23 63 8 (87.3%) 43.99 5 (37.5%) 136.65
11 49 3 (93.88%) 18.36 3 (0) 0.08 24 49 9 (81.63%) 229.45 9 (0) 2.63
12 48 3 (93.75%) 13.99 3 (0) 0.08 25 64 9 (85.94%) 155.52 9 (0) 0.76
13 70 3 (95.71%) 9.13 3 (0) 0.07 26 64 11 (82.81%) 163.99 11 (0) 0.98