Page 279 - 《软件学报》2024年第6期
P. 279
孙昌爱 等: 基于模板匹配的 BPEL 程序故障修复及优化技术 2855
否选用该策略. 测试用例选择策略 (1) 和策略 (2) 可以同时使用, 因为故障定位阶段未通过的测试用例有可能执行
覆盖了故障语句块, 这些测试用例相比其他测试用例可能具有更高的故障检测能力. 相应地, 测试用例选择策略包
括 DFTS、CSS、VFTS、随机选择测试用例策略 (random)、同时选用 DFTS 和 CSS 策略 (DFTS & CSS). 本文使
用 4 种故障定位策略, 分别是 Tarantula (T)、DStar (D)、CBI (C) 和 Ochiai (O).
表 5 实验策略选项表
Strategy Options
TMS Yes/No
OPSS Yes/No
HOPS Yes/No
Test case strategy Random/DFTS/CSS/DFTS & CSS/VFTS
Fault localization strategy T/D/C/O
特别地, HOPS 需要历史修复报告作为参数输入, 本文使用留一法验证该策略的有效性. 首先选择 CarEstimate
之外的其他 5 个程序实例作为训练集得到历史修复操作, CarEstimate 作为测试集进行修复. 类似地, 其他 5 个程
序实例依据此方式进行训练与测试过程. 实验评估所采用的修复配置为 TMS、OPSS、DFTS 与 DStar 故障定位
技术.
6
由于不同策略的参数组合数导致实验规模庞大, 本文选用正交试验设计来缩减实验组数. 选择 L25(5 ) 正交
表, 共需执行 25 组实验, 设计的正交实验方案见表 6. 为了减少实验中随机性的影响, 每组实验重复执行 30 次, 计
算相应度量指标的平均值.
表 6 正交实验设计方案
No. TMS OPSS Test case strategy Fault localization strategy
1 Yes Yes DFTS T
2 Yes No CSS D
C
3 Yes No
DFTS & CSS
No
4 Yes No VFTS O
5 Yes No random O
6 No Yes CSS C
7 No No DFTS & CSS O
8 No No VFTS O
9 No No random T
10 No No DFTS D
11 No Yes DFTS & CSS O
12 No No VFTS T
13 No No random D
14 No No DFTS C
15 No No CSS O
16 No Yes VFTS D
17 No random C
18 No No DFTS O
19 No No CSS O
20 No No DFTS & CSS T
21 No Yes random O
22 No No DFTS O
23 No No CSS T
24 No No DFTS & CSS D
25 No No VFTS C