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%
   255   256   257   258   259   260   261   262   263   264   265