[发明专利]一种基于链式多路径覆盖的测试方法与系统有效
| 申请号: | 202210894579.5 | 申请日: | 2022-07-28 |
| 公开(公告)号: | CN114968824B | 公开(公告)日: | 2022-09-30 |
| 发明(设计)人: | 钱忠胜;俞情媛;秦朗悦;姚昌森;张丁 | 申请(专利权)人: | 江西财经大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
| 代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 黄攀 |
| 地址: | 330013 江西省南*** | 国省代码: | 江西;36 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 链式 路径 覆盖 测试 方法 系统 | ||
1.一种基于链式多路径覆盖的测试方法,其特征在于,所述方法包括如下步骤:
步骤一、构建支持向量机-极限梯度提升链式模型:
将随机生成的测试数据输入至插桩程序中以获取测试路径,根据所述测试路径的路径节点个数与路径节点状态计算得到对应的路径层级深度;
根据所述测试数据的类型选择对应的预训练模型;其中,所述预训练模型包括支持向量机模型与极限梯度提升模型;
根据所选择的预训练模型,对测试路径中的每个路径节点对应的子模型进行训练,以计算得到对应的子模型精度,其中所述子模型包括支持向量机子模型与极限梯度提升子模型;
当判断到子模型精度达到预设最优子模型阈值时,将对应的子模型进行保存并将子模型的数量加1,直至子模型个数与所述路径节点个数相等时,停止构建每个路径节点的子模型,以得到最优支持向量机子模型以及最优极限梯度提升子模型;
将得到的最优支持向量机子模型与最优极限梯度提升子模型,根据测试路径的各路径节点的顺序进行链接,以得到所述支持向量机-极限梯度提升链式模型;
步骤二、利用构建的支持向量机-极限梯度提升链式模型,通过遗传算法生成测试用例:
初始化遗传算法的遗传参数,并将遗传参数转换为十进制,以用于获取对应的覆盖路径;
将测试数据输入至所述支持向量机-极限梯度提升链式模型中,以获得对应的预测路径,根据所述预测路径查找得到目标路径中的相似路径,在获取多条相似路径后将当前测试数据输入到插桩程序,以获取得到精确路径,基于所述精确路径并根据适应度函数计算得到适应度值;
若计算得到的适应度值为1,则确认目标路径被覆盖,将并目标路径进行删除后保存当前测试数据;
当判断到全部的目标路径均被覆盖时,则完成测试,并输出对应的新测试数据以及目标路径覆盖信息。
2.根据权利要求1所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,对每个子模型而言,每个子模型的在进行训练时的训练样本的输入数据格式表示为:
其中,分别表示
其中,所有的子模型依次输出的预测结果组成一条完整的预测路径,即,;
表示将测试数据输入至插桩程序后获得的第个路径节点状态,表示整数集。
3.根据权利要求2所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,在所述支持向量机子模型中,存在
其中,为分离超平面的系数,为样本数,为惩罚参数,,为松弛变量,,为分离超平面的常量参数,为第个样本,为第个样本的预测值,为转置操作,表示受约束于,均表示样本序号。
4.根据权利要求3所述的一种基于链式多路径覆盖的测试方法,其特征在于,所述
其中,为第个样本对应的目标函数中的拉格朗日乘子,为第个样本对应的目标函数中的拉格朗日乘子,,为第个样本,为第个样本的预测值,为高斯核函数;
根据无约束目标函数得出的最优解表示为:
其中,为无约束目标函数中得出的最优解的通式表示,为无约束目标函数中得出的第个样本对应的最优解。
5.根据权利要求4所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,所述极限梯度提升子模型为由个基模型组成的加法模型,极限梯度提升子模型的目标函数表示为:
其中,表示第个基模型对应的目标函数,表示真实值与预测值的损失函数,表示全部个基模型的复杂度之和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江西财经大学,未经江西财经大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210894579.5/1.html,转载请声明来源钻瓜专利网。





