[发明专利]一种兼顾深度以及广度的模糊测试搜索方法有效
申请号: | 201910389591.9 | 申请日: | 2019-05-10 |
公开(公告)号: | CN110096448B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 蒋炎岩;曹阳;许畅;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 上官凤栖 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 兼顾 深度 以及 广度 模糊 测试 搜索 方法 | ||
1.一种兼顾深度以及广度的模糊测试搜索方法,其特征在于,包括如下步骤:
步骤一、动态削减低效变异算子:计算变异算子效益,并且据此调整各个变异算子的使用概率;
步骤二、动态削减低效变异字节:分析当前测试输入,并且据此确定当前测试输入中的低效变异字节;步骤二中,所述变异字节是指当前测试输入中的任意一个字节;所述低效变异字节是指某个变异字节;低效变异字节的确定原则是:如果某个变异字节并不属于任何功能群组,这个变异字节成为低效变异字节;如果某个变异字节属于某个功能群组,并且这个功能群组长度超过功能群组长度阈值,并且这个变异字节处于当前测试输入中间位置,那么这个变异字节成为低效变异字节;
步骤三、模糊测试引擎:根据变异算子使用概率以及低效变异字节,执行遗传演化算法,从而生成子女输入;
步骤四、基于代码覆盖差异的局部深度优先搜索:分析当前测试输入所生成的子女输入间的代码覆盖差异,并且据此确定深度优先搜索范围。
2.如权利要求1所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤一中,所述变异算子是指一类变异操作集合;所述变异算子效益是指截至目前为止,变异算子所生成的队列种子数量除以变异算子所消耗的时间;变异算子使用概率的调整原则是:如果变异算子效益越低,那么变异算子中的变异操作在步骤三中的执行概率就会越低。
3.如权利要求1所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤二中,所述功能群组是指按照给定原则识别出的当前测试输入中的一组连续变异字节,具体原则是:如果变异字节翻转之后所生成的子女输入执行路径发生改变,这个变异字节属于一个功能群组;如果两个相邻变异字节分别翻转之后所生成的子女输入之间执行路径相同,并且与原执行路径不同,那么两个变异字节属于同一功能群组。
4.如权利要求1所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤三中,针对当前测试输入执行遗传演化算法;变异算子中的变异操作执行概率被调整成步骤一中的使用概率;低效变异字节不会执行变异操作;从当前测试输入所生成的子女输入中,按照给定原则挑选队列种子加入队列;更新各个变异算子所生成的队列种子数量以及各个变异算子所消耗的时间。
5.如权利要求4所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤三中,所述队列是指存储所有队列种子的线性表;所述队列种子是指在测试过程中,能够覆盖之前一直没有覆盖过的某段代码的测试输入,所有队列种子将存储在队列之中。
6.如权利要求4所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤四中,在基于代码覆盖差异的局部深度优先搜索过程中,针对当前测试输入所生成的队列种子,按照给定原则从中进行挑选并且加入后续局部深度优先搜索:第一个所生成的队列种子将会加入后续局部深度优先搜索;如果第二个所生成的队列种子相比较于第一个所生成的队列种子,两者间的代码覆盖差异超过代码覆盖差异阈值,那么第二个所生成的队列种子将会加入后续局部深度优先搜索;以此类推,如果候选种子相比较于前面已选中的队列种子,两者间的代码覆盖差异超过代码覆盖差异阈值,那么候选种子将会加入后续局部深度优先搜索;当局部深度优先搜索结束后,返回局部深度优先搜索的根节点,沿着队列寻找没有探索过的队列种子,作为新的局部深度优先搜索的根节点;当前探索队列种子将会送入步骤一中,如此往复,直至测试满足覆盖要求或到达时限。
7.如权利要求6所述的一种兼顾深度以及广度的模糊测试搜索方法,其特征在于:
步骤四中,所述没有探索过的队列种子是指截至目前为止,没有进入步骤一的队列种子;两组测试输入间的代码覆盖差异是指第二组测试输入能够覆盖、但是第一组测试输入不能覆盖的基本块,在第一组测试输入能够覆盖的基本块中所占的比重;所述候选种子是指在局部深度优先搜索过程中,等待比较代码覆盖差异的,并且据此判断是否需要加入后续局部深度优先搜索的队列种子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910389591.9/1.html,转载请声明来源钻瓜专利网。