Page 260 - 《软件学报》2021年第7期
P. 260
2178 Journal of Software 软件学报 Vol.32, No.7, July 2021
Fig.7 EXAM comparison between FLPI and Context-FL
图 7 FLPI 与 Context-FL 检查得分 EXAM 比较
Table 7 Comparison of time cost among FLPI and other techniques
表 7 FLPI 与其他方法时间开销对比
定位到每个错误版本的平均时间开销(ms)
程序
Tarantula Ochiai Naish1 Dstar Naish2 R&R SIQ FLPI
print_tokens 237 234 235 246 230 223 261 848
print_tokens2 216 220 214 223 218 211 239 495
replace 243 244 240 242 237 249 277 891
schedule 175 169 153 161 164 180 202 520
schedule2 188 182 174 165 171 216 223 579
tcas 132 130 126 134 131 123 158 501
totinfo 164 145 150 139 152 186 199 723
NanoXML v 1 1 713 1 467 1 747 1 633 1 802 1 925 2 246 11 908
NanoXML v 2 1 792 1 873 1 613 1 595 1 607 1 842 2 567 18 995
NanoXML v 3 3 154 3 046 2 873 2 809 2 978 3 464 3 906 34 378
NanoXML v 5 3 407 2 998 3 120 2 925 3 176 3 445 4 725 44 240
XML-sec v 1 4 905 4 810 4 142 4 096 4 127 4 730 5 749 51 992
XML-sec v 2 5 302 5 189 5 403 5 213 5 537 6 755 7 286 78 380
XML-sec v 3 3 710 3 767 2 913 3 896 3 401 3 532 5 124 45 953
JFreeChart 6 148 6 019 6 268 6 047 6 423 7 836 7 927 90 887
Joda-Time 6 497 6 463 7 443 6 339 7 085 7 193 8 067 86 604
Mockito 5 247 4 931 3 804 5 091 4 352 4 600 6 721 67 686
基于上述对实验结果的分析,我们来回答第 3.3 节提出的两个研究问题.
(1) 使用 Expense 指标对 FLPI 方法和其他方法的对比实验结果表明:在不同的实验程序上,FLPI 对比
Tarantula、Ochiai、Naish1、Dstar、Naish2、Russel & Rao 和 SIQ 的错误定位代价最多降低了 8.80%、7.03%、
9.12%、7.03%、6.79%、7.28%和 2.57%,而平均错误定位代价分别降低了 1.90%、1.45%、1.75%、1.31%、1.49%、
1.63%和 0.55%.因此,FLPI 方法在一定程度上提高了错误定位的精度.
(2) 使用 EXAM 指标对 FLPI 方法和其他方法的对比实验结果表明:在 Siemens Suite 程序集上,FLPI 对比
Tarantula、Ochiai、Naish1、Naish2、Russel & Rao 和 SIQ 定位效率都有提高,其中在 print_tokens、schedule
和 schedule2 程序上提高得较多.总体来看,FLPI 方法在检查相同比例代码时可以定位到更多的错误,而且至多
只需检查 70%多的代码语句就可以定位到程序的全部错误.因此,FLPI 方法在一定程度上提高了错误定位的效
率.而在 NanoXML 程序集上,FLPI 方法最多只需检查 80%的代码语句就可以定位到全部的错误.而在代码检查
比例为 10%、20%、30%、40%和 50%时,FLCP 方法定位到的错误比 Tarantula 多了 14%、19%、9%、10%和
17%,相比较 Naish2,多了 2%、8%、5%、5%和 13%,而相比较 SIQ,分别多了 2%、3%、1%、1%和 4%.同理可
得,在 XML-sec 上,FLPI 方法至多只需检查 70%的代码语句就可以定位到全部的错误,对比上述 3 种方法,FLPI
方法定位到的错误比 Tarantula 多了 23%、25%、25%、14%和 18%,相比较 Naish2,多了 10%、14%、14%、17%