利索能及
我要发布
收藏
专利号: 2022108945795
申请人: 江西财经大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-10-22
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于链式多路径覆盖的测试方法,其特征在于,所述方法包括如下步骤:步骤一、构建支持向量机‑极限梯度提升链式模型:

将随机生成的测试数据输入至插桩程序中以获取测试路径,根据所述测试路径的路径节点个数与路径节点状态计算得到对应的路径层级深度;

根据所述测试数据的类型选择对应的预训练模型;其中,所述预训练模型包括支持向量机模型与极限梯度提升模型;

根据所选择的预训练模型,对测试路径中的每个路径节点对应的子模型进行训练,以计算得到对应的子模型精度,其中所述子模型包括支持向量机子模型与极限梯度提升子模型;

当判断到子模型精度达到预设最优子模型阈值时,将对应的子模型进行保存并将子模型的数量加1,直至子模型个数与所述路径节点个数相等时,停止构建每个路径节点的子模型,以得到最优支持向量机子模型以及最优极限梯度提升子模型;

将得到的最优支持向量机子模型与最优极限梯度提升子模型,根据测试路径的各路径节点的顺序进行链接,以得到所述支持向量机‑极限梯度提升链式模型;

步骤二、利用构建的支持向量机‑极限梯度提升链式模型,通过遗传算法生成测试用例:初始化遗传算法的遗传参数,并将遗传参数转换为十进制,以用于获取对应的覆盖路径;

将测试数据输入至所述支持向量机‑极限梯度提升链式模型中,以获得对应的预测路径,根据所述预测路径查找得到目标路径中的相似路径,在获取多条相似路径后将当前测试数据输入到插桩程序,以获取得到精确路径,基于所述精确路径并根据适应度函数计算得到适应度值;

若计算得到的适应度值为1,则确认目标路径被覆盖,将并目标路径进行删除后保存当前测试数据;

当判断到全部的目标路径均被覆盖时,则完成测试,并输出对应的新测试数据以及目标路径覆盖信息。

2.根据权利要求1所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,对每个子模型而言,每个子模型的在进行训练时的训练样本的输入数据格式表示为:其中, 分别表示k种不同子模型的样本样式, 表

示其中一种类型的样本包含q个数据, 表示将测试数据输入至插桩程序后依次获得的 个子模型对应的路径节点状态,且子模型的样本样式的种类与路径节点状态的数量相同;

其中,所有的子模型依次输出的预测结果组成一条完整的预测路径 ,即, ;

表示将测试数据输入至插桩程序后获得的第 个路径节点状态, 表示整数集。

3.根据权利要求2所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,在所述支持向量机子模型中,存在hinge损失函数,具体表示:其中, 为分离超平面的系数, 为样本数, 为惩罚参数, , 为松弛变量,, 为分离超平面的常量参数, 为第 个样本, 为第 个样本的预测值, 为转置操作, 表示受约束于, 均表示样本序号。

4.根据权利要求3所述的一种基于链式多路径覆盖的测试方法,其特征在于,所述hinge损失函数为有约束条件的目标函数,通过拉格朗日乘子法转换为无约束目标函数,对应的无约束目标函数表示为:其中, 为第 个样本对应的目标函数中的拉格朗日乘子, 为第 个样本对应的目标函数中的拉格朗日乘子, , 为第 个样本, 为第 个样本的预测值, 为高斯核函数;

根据无约束目标函数得出的最优解表示为:

其中, 为无约束目标函数中得出的最优解的通式表示, 为无约束目标函数中得出的第 个样本对应的最优解。

5.根据权利要求4所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,所述极限梯度提升子模型为由 个基模型组成的加法模型,极限梯度提升子模型的目标函数表示为:其中, 表示第 个基模型对应的目标函数, 表示真实值 与预测值 的损失函数, 表示全部 个基模型的复杂度 之和。

6.根据权利要求5所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤一中,路径层级深度表示为:其中, 表示路径层级深度, 表示一条完整路径的节点个数,表示当前的路径节点状态, 表示一个常量, 表示路径节点状态的数量;

子模型精度表示为:

其中, 表示子模型精度, 表示预测为正样本, 表示预测为负样本。

7.根据权利要求6所述的一种基于链式多路径覆盖的测试方法,其特征在于,将得到的最优支持向量机子模型与最优极限梯度提升子模型,根据测试路径的各路径节点的顺序进行链接,以得到所述支持向量机‑极限梯度提升链式模型的步骤,对应的公式表示为:其中, 表示第 个路径节点对应的子模型, 表示模型精度最大值对应的子模型, 表示支持向量机模型在第 个路径节点上的精度值, 表示极限梯度提升链式模型在第 个路径节点上的精度值,表示最终的路径预测的链式模型, 表示一条完整路

径预测模型的链式方式, 表示从第1个路径节点到第k‑1个路径节点对应的所有子模型按照路径节点的出现顺序进行链式组合。

8.根据权利要求7所述的一种基于链式多路径覆盖的测试方法,其特征在于,在所述步骤二中,路径相似度的公式表示为:其中, 表示路径相似度的值, 表示测试数据的覆盖路径与目标路径状态相同的节点数, 表示一条目标路径所有的节点数。

9.根据权利要求8所述的一种基于链式多路径覆盖的测试方法,其特征在于,适应度函数的公式表示为:其中, 表示适应度函数的值, 表示权重系数。

10.一种基于链式多路径覆盖的测试系统,其特征在于,所述系统包括:构建模块,用于:

将随机生成的测试数据输入至插桩程序中以获取测试路径,根据所述测试路径的路径节点个数与路径节点状态计算得到对应的路径层级深度;

根据所述测试数据的类型选择对应的预训练模型;其中,所述预训练模型包括支持向量机模型与极限梯度提升模型;

根据所选择的预训练模型,对测试路径中的每个路径节点对应的子模型进行训练,以计算得到对应的子模型精度,其中所述子模型包括支持向量机子模型与极限梯度提升子模型;

当判断到子模型精度达到预设最优子模型阈值时,将对应的子模型进行保存并将子模型的数量加1,直至子模型个数与所述路径节点个数相等时,停止构建每个路径节点的子模型,以得到最优支持向量机子模型以及最优极限梯度提升子模型;

将得到的最优支持向量机子模型与最优极限梯度提升子模型,根据测试路径的各路径节点的顺序进行链接,以得到所述支持向量机‑极限梯度提升链式模型;

遗传算法模块,用于:

初始化遗传算法的遗传参数,并将遗传参数转换为十进制,以用于获取对应的覆盖路径;

将测试数据输入至所述支持向量机‑极限梯度提升链式模型中,以获得对应的预测路径,根据所述预测路径查找得到目标路径中的相似路径,在获取多条相似路径后将当前测试数据输入到插桩程序,以获取得到精确路径,基于所述精确路径并根据适应度函数计算得到适应度值;

若计算得到的适应度值为1,则确认目标路径被覆盖,将并目标路径进行删除后保存当前测试数据;

当判断到全部的目标路径均被覆盖时,则完成测试,并输出对应的新测试数据以及目标路径覆盖信息。