[发明专利]基于在线式增量学习的模糊测试用例选择方法和装置有效
申请号: | 202010791542.0 | 申请日: | 2020-08-07 |
公开(公告)号: | CN111897734B | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | 马锐;李斌斌;贺金媛;王雪霏;王夏菁 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57;G06N3/04;G06N3/08 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 温子云 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 在线 增量 学习 模糊 测试 选择 方法 装置 | ||
1.一种基于在线式增量学习的模糊测试用例选择方法,其特征在于,包括:
以测试用例特征作为输入,测试用例质量评分作为输出组成训练样本;所述测试用例特征包括测试用例自身特征、模糊测试执行特征、模糊测试执行效果特征和硬件程序追踪得到的指令特征;
利用模糊测试变异且执行过的初始测试用例构建训练样本集,对在线式增量学习模型进行训练,使得在线式增量学习模型学习测试用例与模糊测试执行效果之间的关系;
利用模糊测试过程中产生的有效测试用例作为候选测试用例,获取候选测试用例的所述测试用例特征,输入在线式增量学习模型,获得预测的测试用例质量评分,选取质量最优测试用例作为待变异测试用例进行模糊测试;
获取所述候选测试用例的测试用例特征及为其预测的测试用例质量评分,组成新训练样本,加入到在线式增量学习模型的训练样本集中以优化模型;
该方法采用流水线式并行化执行,即针对每个目标二进制程序,在模糊测试开始执行时,暂不启动在线式增量学习模型,令模糊测试执行一段时间或生成指定数量的测试用例,将生成的测试用例作为初始测试用例构建训练样本,再启动在线式增量学习模型进行训练;训练完成后,以并行方式运行模糊测试和在线式增量学习模型,不断将新的训练样本提供给在线式增量学习模型,实现在线式增量模型的在线式学习,直至模糊测试结束。
2.如权利要求1所述的方法,其特征在于,所述测试用例自身特征为测试用例大小;所述模糊测试执行特征为测试用例执行时间;所述模糊测试执行效果特征包括触发的基本块数、新触发的基本块数、有效字节数、有效字节比例、变异得到的测试用例中有效测试用例比例;所述硬件程序追踪得到的指令特征包括硬件程序追踪数据解码后统计获得的外部调用指令数、cmp指令数和间接调用指令数;
所述触发的基本块数:测试用例执行所触发的基本块数;
所述新触发的基本块数:测试用例本次执行所触发的基本块数与变异前执行所触发的基本块数之差;
所述有效字节数:如果当前测试用例为通过变异单个字节能够发现新路径的有效测试用例,则当前测试用例的有效字节数增加1,否则不累加,使得变异后的测试用例继承变异前的测试用例的有效字节数;
所述有效字节比例:所述有效字节数占整个测试用例大小的比例;
所述变异得到的测试用例中有效测试用例比例:如果当前测试用例变异产生的测试用例为有效测试用例,则将当前测试用例对应的有效测试用例累加数增加1,采用有效测试用例累加数除以模糊测试变异总次数,得到所述变异得到的测试用例中有效测试用例比例;变异得到的测试用例同样继承变异前的测试用例的有效测试用例比例。
3.如权利要求1所述的方法,其特征在于,采用初始测试用例构建训练样本时,确定测试用例质量评分的方式为:采用给定值作为训练样本中的质量评分,或将量化后的测试用例特征进行加权求和并将计算获得的加权和作为训练样本中的质量评分。
4.如权利要求1所述的方法,其特征在于,所述在线式增量学习模型采用学习向量量化网络LVQ。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010791542.0/1.html,转载请声明来源钻瓜专利网。