[发明专利]一种基于程序追踪和混合执行的模糊测试系统有效
申请号: | 201811612236.5 | 申请日: | 2018-12-27 |
公开(公告)号: | CN109739755B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 田东海;李斌斌;王文杰;马锐;王雪霏;王夏菁;刘叔可;蒋瑾曼 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 刘芳;仇蕾安 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于程序追踪和混合执行的模糊测试系统,该系统主要包括三个模块,分别是模糊测试模块、数据流追踪模块和混合执行模块;模糊测试模块的输入为目标二进制程序、种子测试用例和由数据流追踪模块提取的种子测试用例中字节序列对应变量的类型信息,输出为触发新路径的测试用例;数据流追踪模块的输入为目标二进制程序和模糊测试模块加载的种子测试用例,输出为种子测试用例中字节序列对应变量的类型信息和目标二进制程序中数据的依赖关系;混合执行模块的输入为数据流追踪模块实时提供的目标二进制程序中数据的依赖关系,输出为由该模块新生成的可能触发新路径的候选测试用例。该系统相比于现有技术,能够提升测试用例生成的有效性。 | ||
搜索关键词: | 一种 基于 程序 追踪 混合 执行 模糊 测试 系统 | ||
【主权项】:
1.一种基于程序追踪和混合执行的模糊测试系统,其特征在于,该系统主要包括三个模块,分别是模糊测试模块、数据流追踪模块和混合执行模块,其中:模糊测试模块的输入为目标二进制程序、种子测试用例和由数据流追踪模块提取的种子测试用例中字节序列对应变量的类型信息,输出为触发新路径的测试用例,该测试用例存储到测试用例集中,所述类型信息用于辅助对种子测试用例进行变异生成新的候选测试用例,并将所述候选测试用例插入到候选测试用例队列中,同时从候选测试用例队列头部选择一个候选测试用例执行;在目标二进制程序执行过程中,利用CPU程序追踪机制对目标程序进行追踪,获取路径信息以更新全局路径信息和筛选出触发新路径的测试用例;数据流追踪模块的输入为目标二进制程序和模糊测试模块加载的种子测试用例,输出为种子测试用例中字节序列对应变量的类型信息和目标二进制程序中数据的依赖关系,该依赖关系用于辅助混合执行模块进行符号映射和收集路径约束;混合执行模块的输入为数据流追踪模块实时提供的目标二进制程序中数据的依赖关系,输出为由该模块新生成的可能触发新路径的候选测试用例;模糊测试模块和混合执行模块共享目标二进制程序的全局路径信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811612236.5/,转载请声明来源钻瓜专利网。