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

软件学报 ISSN 1000-9825, CODEN RUXUEW                                        E-mail: jos@iscas.ac.cn
                 Journal of Software,2024,35(6):2795−2820 [doi: 10.13328/j.cnki.jos.006905]  http://www.jos.org.cn
                 ©中国科学院软件研究所版权所有.                                                          Tel: +86-10-62562563



                                                                                     *
                 结合    SVM    与   XGBoost 的链式多路径覆盖测试用例生成

                 钱忠胜,    俞情媛,    张    丁,    姚昌森,    秦朗悦,    成轶伟


                 (江西财经大学 信息管理学院, 江西 南昌 330013)
                 通信作者: 钱忠胜, E-mail: changesme@163.com

                 摘 要: 机器学习方法可很好地与软件测试相结合, 增强测试效果, 但少有学者将其运用于测试数据生成方面. 为
                 进一步提高测试数据生成效率, 提出一种结合              SVM (support vector machine) 和  XGBoost (extreme gradient boosting)
                 的链式模型, 并基于此模型借助遗传算法实现多路径测试数据生成. 首先, 利用一定样本训练若干个用于预测路径
                 节点状态的子模型       (SVM  和  XGBoost), 通过子模型的预测精度值筛选最优子模型, 并根据路径节点顺序将其依次
                 in  sequence  according  to  the  order  of  the  path  nodes,  so  as  to  form  a  chained  model,  namely  chained  SVM  and  XGBoost  (C-
                 链接, 形成一个链式模型       C-SVMXGBoost (chained SVM and XGBoost). 在利用遗传算法生成测试用例时, 使用训练
                 好的链式模型代替插桩法获取测试数据覆盖路径                  (预测路径), 寻找预测路径与目标路径相似的路径集, 对存在相
                 似路径集的预测路径进行插桩验证, 获取精确路径, 计算适应度值. 在交叉变异过程中引入样本集中路径层级深度

                 较大的优秀测试用例进行重用, 生成覆盖目标路径的测试数据. 最后, 保留进化生成中产生的适应度较高的个体,
                 更新链式模型     C-SVMXGBoost, 进一步提高测试效率. 实验表明, C-SVMXGBoost 较其他各对比链式模型更适合
                 解决路径预测问题, 可提高测试效率. 并且通过与已有经典方法相比, 所提方法在覆盖率上提高可达                               15%, 平均进
                 化代数也有所降低, 在较大规模程序上其降低百分比可达                  65%.
                 关键词: 测试用例; SVM; XGBoost; 链式模型; 多路径覆盖
                 中图法分类号: TP311

                 中文引用格式: 钱忠胜, 俞情媛, 张丁, 姚昌森, 秦朗悦, 成轶伟. 结合SVM与XGBoost的链式多路径覆盖测试用例生成. 软件学报,
                 2024, 35(6): 2795–2820. http://www.jos.org.cn/1000-9825/6905.htm
                 英文引用格式: Qian ZS, Yu QY, Zhang D, Yao CS, Qin LY, Cheng YW. Multi-path Coverage Test Case Generation Combining
                 Chained SVM and XGBoost. Ruan Jian Xue Bao/Journal of Software, 2024, 35(6): 2795–2820 (in Chinese). http://www.jos.org.cn/
                 1000-9825/6905.htm

                 Multi-path Coverage Test Case Generation Combining Chained SVM and XGBoost
                 QIAN Zhong-Sheng, YU Qing-Yuan, ZHANG Ding, YAO Chang-Sen, QIN Lang-Yue, CHENG Yi-Wei
                 (School of Information Management, Jiangxi University of Finance and Economics, Nanchang 330013, China)
                 Abstract:  Machine learning methods can be well combined with software testing to enhance test effect, but few scholars have applied it to
                 test  data  generation.  In  order  to  further  improve  the  efficiency  of  test  data  generation,  a  chained  model  combining  support  vector  machine
                 (SVM)  and  extreme  gradient  boosting  (XGBoost)  is  proposed,  and  multi-path  test  data  generation  is  realized  by  a  genetic  algorithm  based
                 on the chained model. Firstly, this study uses certain samples to train several sub-models (i.e., SVM and XGBoost) for predicting the state
                 of  path  nodes,  filters  the  optimal  sub-models  based  on  the  prediction  accuracy  value  of  the  sub-models,  and  links  the  optimal  sub-models

                 SVMXGBoost).  When  using  the  genetic  algorithm  to  generate  test  cases,  the  study  makes  use  of  the  chained  model  that  is  trained  instead
                 of  the  instrumentation  method  to  obtain  the  test  data  coverage  path  (i.e.,  predicted  path),  finds  the  path  set  with  the  predicted  path  similar
                 to  the  target  path,  performs  instrumentation  verification  on  the  predicted  path  with  similar  path  sets,  obtains  accurate  paths,  and  calculates


                 *    基金项目: 国家自然科学基金  (62262025); 江西省自然科学基金重点项目  (20224ACB202012)
                  收稿时间: 2022-07-04; 修改时间: 2022-10-08; 采用时间: 2023-01-11; jos 在线出版时间: 2023-08-09
                  CNKI 网络首发时间: 2023-08-10
   214   215   216   217   218   219   220   221   222   223   224