[发明专利]一种基于AFL的模糊测试变异方法和装置有效
申请号: | 201810820845.3 | 申请日: | 2018-07-24 |
公开(公告)号: | CN109101422B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 马锐;王夏菁;李斌斌;薛静锋;田东海 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 温子云;仇蕾安 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 afl 模糊 测试 变异 方法 装置 | ||
1.一种基于AFL的模糊测试变异方法,其特征在于,包括:
在AFL的确定性变异阶段确定测试用例的有效字节;
在确定性变异阶段,根据所述有效字节的信息确定变异字节,不变异全无效字节;
在破坏性变异阶段,随机选取字节,根据所述有效字节的信息指导变异,如果当前随机选择的字节是有效字节,则一定变异;否则给予小概率变异。
2.如权利要求1所述的方法,其特征在于,所述确定测试用例的有效字节为:在AFL的确定性变异阶段的bitfip阶段收集;在该bitfip阶段对测试用例i的全部字节逐一进行翻转生成测试用例i′,如果测试用例i′触发新的路径,则认为被翻转的字节是有效字节;统计有效字节,并维护在有效字节表中;在变异时,利用有效字节表识别有效字节。
3.如权利要求2所述的方法,其特征在于,在确定有效字节时,当测试用例小于128字节,或者测试用例中有效字节比例超过一定的数值,那么认为测试用例的所有字节都是有效字节。
4.如权利要求1所述的方法,其特征在于,在确定性变异阶段,所述根据所述有效字节的信息确定变异字节为:AFL初步确定出待变异字节,根据所述有效字节的信息判断待变异字节是否为全无效字节,如果是,则忽略对待变异字节的变异;否则,将待变异字节确定为变异字节。
5.一种基于AFL的模糊测试变异装置,其特征在于,包括:
有效字节收集模块,用于在AFL的确定性变异阶段确定测试用例的有效字节;
确定性变异模块,用于在确定性变异阶段,根据所述收集的有效字节的信息确定变异字节,不变异全无效字节;
破坏性变异模块,用于在破坏性变异阶段,随机选取字节,根据所述收集的有效字节的信息指导变异,如果当前随机选择的字节是有效字节,则一定变异;否则给予小概率变异。
6.如权利要求5所述的装置,其特征在于,进一步包括有效字节收集模块,用于在确定性变异阶段的bitfip阶段收集有效字节;在该bitfip阶段对测试用例i的全部字节逐一进行翻转生成测试用例i′,如果测试用例i′触发新的路径,则认为被翻转的字节是有效字节;统计有效字节,并维护在有效字节表中,用于破坏性变异模块和确定性变异模块。
7.如权利要求6所述的装置,其特征在于,所述有效字节收集模块在确定有效字节时,当测试用例小于128字节,或者测试用例中有效字节比例超过一定的数值,那么认为测试用例的所有字节都是有效字节。
8.如权利要求5所述的装置,其特征在于,所述确定性变异模块根据所述有效字节的信息确定变异字节为:AFL初步确定出待变异字节,根据所述有效字节的信息判断待变异字节是否为全无效字节,如果是,则忽略对待变异字节的变异;否则,将待变异字节确定为变异字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810820845.3/1.html,转载请声明来源钻瓜专利网。