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

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


                 文构建的链式模型       (即  C-SVMXGBoost) 是否比其他模型在精度与时间方面更有优势, 选取的实验程序与上一节
                 一致, 并设置更多样本数量, 分别为         3 000, 6 000, 10 000, 就模型分类精度进一步展开对比. 每组实验分别重复           5  次,
                 结果如图   5  所示, 其中  n  表示样本数量.

                   100                          100                          100
                    98                           98                           98

                  精度 (%)  96                   精度 (%)  96                   精度 (%)  96

                    94
                                                                              94
                                                 94
                    92                           92                           92
                    90                           90                           90
                                                                  BP
                                                                                               BP
                       SVM XGBoost  RF C-SVMXGBoost  SVM XGBoost  RF C-SVMXGBoost  SVM XGBoost  RF C-SVMXGBoost
                                     BP
                    2) 链式模型的融合过程提高了模型的精度. 对比
                                模型                           模型                           模型
                    (a) PG1上各模型分类精度对比 (n=3000)   (b) PG1 上各模型分类精度对比 (n=6000)  (c) PG1 上各模型分类精度对比 (n=10000)
                   100                          100                          100
                    95                           95                           95
                    90                           90                           90
                  精度 (%)  85                   精度 (%)  85                   精度 (%)  85

                    80                           80                           80
                    75                           75                           75

                    70                           70                           70
                                     BP
                       SVM XGBoost  RF C-SVMXGBoost  SVM XGBoost  RF C-SVMXGBoost  SVM XGBoost  RF C-SVMXGBoost
                                                                                               BP
                                                                  BP
                                模型                           模型                           模型
                    (d) PG8 上各模型分类精度对比 (n=3000)  (e) PG8 上各模型分类精度对比 (n=6000)  (f) PG8 上各模型分类精度对比 (n=10000)
                                           图 5 不同规模程序上的各模型分类精度对比

                    由图  5  可知, 对比不同模型在不同程序和不同样本数量上的精度, 可得到如下几点结论.
                    1) 程序规模和复杂度对模型分类精度具有一定的影响. 在较小规模程序                       PG1  上, 这几种模型的精度均高于
                 94%, 而在较大规模程序      PG8  上, 它们的精度有所下降. 其中, 子模型         SVM  和  XGBoost 的分类精度在    85%–95%
                 范围内; RF  在  75%–85%  范围内; BP  在  70%–78%  范围内. 不论是对较小规模的简单程序         PG1, 还是较大规模的复
                 杂程序   PG8, SVM  模型和  XGBoost 模型精度在不同样本数量的情况下, 均高于            RF  和  BP  模型.
                                                          SVM, XGBoost 和  C-SVMXGBoost 这  3  种模型, 其中对于程
                 序  PG1, 子模型  SVM  模型精度略高于     XGBoost 模型; 对于程序    PG8, 子模型  XGBoost 模型精度值高于      SVM  模

                 型. 在处理不同类型数据上, SVM        模型与   XGBoost 模型各有优势. 链式模型       C-SVMXGBoost 是最优子模型     SVM
                 和  XGBoost 的融合, 不论是在数值型程序       PG1  还是包含非数值型程序        PG8  上, 它的精度均高于这两个子模型, 因
                 此  C-SVMXGBoost 可更准确地预测路径节点状态.
                    3) 样本数量对模型精度影响相对较小. 随着样本数量增加, 在不同程序上, 以上几种模型分类精度没有明显提
                 升. 在保证模型训练精度的前提下, 尽可能使用较少样本, 当样本数量为                        3 000  时可满足样本需求. 链式模型
   228   229   230   231   232   233   234   235   236   237   238