软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2024年第6期:结合SVM与XGBoost的链式多路径覆盖测试用例生成

发布日期:

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

单位:钱忠胜,江西财经大学 信息管理学院, 江西 南昌 33001311,俞情媛,江西财经大学 信息管理学院, 江西 南昌 33001302,张丁,江西财经大学 信息管理学院, 江西 南昌 33001303,姚昌森,江西财经大学 信息管理学院, 江西 南昌 33001304,秦朗悦,江西财经大学 信息管理学院, 江西 南昌 33001305,成轶伟,江西财经大学 信息管理学院, 江西 南昌 33001306

关键词:测试用例;SVM;XGBoost;链式模型;多路径覆盖

基金:国家自然科学基金(62262025); 江西省自然科学基金重点项目(20224ACB202012)

机器学习方法可很好地与软件测试相结合, 增强测试效果, 但少有学者将其运用于测试数据生成方面. 为进一步提高测试数据生成效率, 提出一种结合SVM (support vector machine)和XGBoost (extreme gradient boosting)的链式模型, 并基于此模型借助遗传算法实现多路径测试数据生成. 首先, 利用一定样本训练若干个用于预测路径节点状态的子模型(SVM和XGBoost), 通过子模型的预测精度值筛选最优子模型, 并根据路径节点顺序将其依次链接, 形成一个链式模型C-SVMXGBoost (chained SVM and XGBoost). 在利用遗传算法生成测试用例时, 使用训练好的链式模型代替插桩法获取测试数据覆盖路径(预测路径), 寻找预测路径与目标路径相似的路径集, 对存在相似路径集的预测路径进行插桩验证, 获取精确路径, 计算适应度值. 在交叉变异过程中引入样本集中路径层级深度较大的优秀测试用例进行重用, 生成覆盖目标路径的测试数据. 最后, 保留进化生成中产生的适应度较高的个体, 更新链式模型C-SVMXGBoost, 进一步提高测试效率. 实验表明, C-SVMXGBoost较其他各对比链式模型更适合解决路径预测问题, 可提高测试效率. 并且通过与已有经典方法相比, 所提方法在覆盖率上提高可达15%, 平均进化代数也有所降低, 在较大规模程序上其降低百分比可达65%.

来源:2024年第6期

《软件学报》期刊编辑部

查看软件学报杂志2024年第6期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员