Page 237 - 《软件学报》2024年第6期
P. 237

钱忠胜 等: 结合   SVM  与  XGBoost 的链式多路径覆盖测试用例生成                                      2813


                 标路径数较少, 传统遗传法的进化代数总量分别达到                 4  万代和  6  万代之多; 本文方法为    875  代和  5 051  代, 与传统
                 遗传法相比, 至少减少      92.21%. 随着目标路径数的增加, 传统遗传法所需进化代数总量急剧增加, 本文方法则相对
                 缓慢. 在较复杂程序      PG8  中, 传统遗传法的进化代数总量达到最高, 为            615 621  代, 本文方法的进化代数总量也达
                 到最高, 为  195 410  代, 但仍比传统遗传法的减少了        68.26%. 平均进化代数方面, 在程序       PG1  和  PG2  中, 传统遗传
                 法的分别为    314.47  代和  457.07  代, 本文方法分别为  6.23  代和  8.63  代, 与传统遗传法相比, 分别减少了    98.02%  和
                 98.11%; 在程序  PG6, PG7, PG8  中, 传统遗传法的分别为      291.28  代、248.74  代、498.05  代, 本文方法分别为
                 65.10  代、73.41  代、98.69  代, 相比于传统遗传法, 平均进化代数分别减少了          77.65%, 70.49%, 80.18%.


                                      表 3    本文方法与传统遗传法在不同程序上的各指标对比

                                                对比方法                     指标 (%)
                 待测  目标路径数       评价指标                                                       C-SVMXGBoost
                 程序                        传统遗传法 本文方法        进化代数总量 平均进化代数 执行时间之             模型更新次数
                                                              之差百分比     之差百分比      差百分比
                                 覆盖率 (%)      77       100
                                进化代数总量       43 252    875
                                                       95
                  PG1    2                                      97.98      98.02     –7.29       0
                                平均进化代数       314.47    6.23
                                执行时间 (s)     53.38    57.27
                                 覆盖率 (%)      60       100
                                进化代数总量       75 540   2 539
                  PG2    5                                      96.64      98.11     34.93       0
                                平均进化代数       457.07    8.63
                                执行时间 (s)     65.02    42.31
                                 覆盖率 (%)      58       100
                                进化代数总量       64 814   5 051
                  PG3    2                                      92.21      94.18     16.42       0
                                平均进化代数       612.43   35.63
                                执行时间 (s)     77.05    64.40
                                 覆盖率 (%)      73       100
                                进化代数总量       128 470  26 365
                  PG4    21                                     79.48      86.99     3.08        0
                                平均进化代数       335.32   43.63
                                执行时间 (s)     62.41    60.49
                                 覆盖率 (%)      64       100
                                进化代数总量       215 473  25 710
                  PG5    35                                     88.07      93.06     21.22       0
                                平均进化代数       425.38   29.54
                                执行时间 (s)     85.10    67.04
                                 覆盖率 (%)      75       100
                                进化代数总量       292 493  89 534
                  PG6    57                                     69.39      77.65     8.28        0
                                平均进化代数       291.28   65.10
                                执行时间 (s)     178.50   163.72
                                 覆盖率 (%)      82       100
                                进化代数总量       285 126  10 092
                  PG7    61                                     96.46      70.49     5.09        1
                                平均进化代数       248.74   73.41
                                执行时间 (s)     301.20   285.87
                                 覆盖率 (%)      65
                                进化代数总量       615 621  195 410
                  PG8   123                                     68.26      80.18     2.82        1
                                平均进化代数       498.05   98.69
                                执行时间 (s)     831.28   807.83
                                 覆盖率 (%)      67       100
                                进化代数总量       175 379  34 621
                  PG9    12                                     80.26      93.47     24.46       0
                                平均进化代数       430.67   28.13
                                执行时间 (s)     66.84    50.49
                                 覆盖率 (%)      71       97
                                进化代数总量       190 217  50 230
                 PG10    20                                     73.59      80.30     9.43        1
                                平均进化代数       357.07   70.33
                                执行时间 (s)     129.30   117.11
   232   233   234   235   236   237   238   239   240   241   242