[发明专利]一种基于遗传变异的模糊测试用例生成方法及系统有效
申请号: | 201811554639.9 | 申请日: | 2018-12-19 |
公开(公告)号: | CN109597767B | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 卢凯;周旭;何兴陆;张文喆;王睿伯;王鹏飞 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于遗传变异的模糊测试用例生成方法及系统,方法包括选择两个种子测试用例,针对新测试用例的数据位置,如果两个种子数据相同则将数据遗传到新测试用例的当前数据位置,如果两个种子数据不同,且任意属于目标二进制文件进行静态分析提取的字符串比较集合,则将数据随机突变为预设的字符串比较集合中的数据,否则随机选择一方种子的数据遗传到新测试用例的当前数据位置。本发明继承了基于生成的测试用例生成方法和基于变异的测试用例生成方法各自的优点,又同时规避掉了他们相应的缺点,能够实现无需人工操作的大规模fuzzing目标程序的核心代码,具有生成测试用例有更大的可能性提升路径覆盖率、易于触发崩溃的优点。 | ||
搜索关键词: | 一种 基于 遗传 变异 模糊 测试 生成 方法 系统 | ||
【主权项】:
1.一种基于遗传变异的模糊测试用例生成方法,其特征在于实施步骤包括:1)选择两个种子测试用例;2)针对新测试用例的种子长度,选择一个数据位置作为当前数据位置;3)针对当前数据位置,判断两个种子测试用例的数据是否相同,如果相同则跳转执行步骤4);否则,跳转执行步骤5);4)将种子测试用例当前数据位置的数据遗传到新测试用例的当前数据位置;5)判断两个种子测试用例的当前数据位置的数据中任意一个属于预设的字符串比较集合是否成立,预设的字符串比较集合为针对用于执行测试用例的目标二进制文件进行静态分析提取其中的字符串数据得到,如果成立则将新测试用例的当前数据位置的数据随机突变为预设的字符串比较集合中的数据,跳转执行步骤7);否则,跳转执行步骤6);6)随机选择一方种子测试用例当前数据位置的数据遗传到新测试用例的当前数据位置;7)判断种子长度是否已经遍历完毕,如果尚未遍历完毕,则继续选择下一个数据位置作为当前数据位置,跳转执行步骤3);否则跳转执行下一步;8)按照指定的比例对新测试用例进行随机突变,将完成随机突变后的新测试用例作为最终得到的新测试用例输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811554639.9/,转载请声明来源钻瓜专利网。