[发明专利]模糊测试的种子处理、模糊测试方法、系统和存储介质有效
申请号: | 202010723505.6 | 申请日: | 2020-07-24 |
公开(公告)号: | CN111881039B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 鲁辉;张鑫国;田志宏;殷丽华;孙彦斌;苏申;杨佳庚 | 申请(专利权)人: | 广州大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 胡辉 |
地址: | 510006 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模糊 测试 种子 处理 方法 系统 存储 介质 | ||
本发明公开了一种模糊测试的种子处理、模糊测试方法、系统和存储介质,应用在软件测试技术中,其中种子处理方法包括获取各程序块的静态权重;在模糊测试中对各程序块的运行次数进行统计,在每次模糊测试中根据所述统计中各程序块的运行次数得到各程序块的动态权重;根据所述静态权重和动态权重对种子库中的种子进行评分;选择种子进行变异,其中,获得测试用例,种子评分越高被选择的概率越高;统计代码覆盖率,根据测试用例的代码覆盖率将测试用例更新到种子库中。本方案可以提升代码覆盖率,以充分挖掘软件漏洞。
技术领域
本发明涉及软件测试技术,尤其是一种模糊测试的种子处理、模糊测试方法、系统和存储介质。
背景技术
随着软件规模的飞速增长,导致软件复杂性不断提高,软件内漏洞数目也在不断增多。由于软件复杂性的提高,漏洞藏得越来越深,导致对漏洞的挖掘的工作量越来越大。为了降低挖掘漏洞的工作量,人们开始使用模糊测试这种自动化方式来取代人工挖掘漏洞。所谓的模糊测试就是不断的生成一些随机的输入作为测试用例不断的测试程序,根据程序运行情况调节测试用例的生成。依据这一原理人们开发出许多模糊测试工具。但由于模糊测试工具afl的成功,所以目前普遍认为模糊测试中被测试程序覆盖率对模糊测试性能提高有较强的引导。有研究表明当代码覆盖率增加1%,发现bug的百分比就会增加0.92%。
针对如何提高模糊测试工具测试被测试程序覆盖率,国内外提出了许多方案。比如将模糊测试工具和符号执行相结合,当模糊测试工具面对一些比较复杂的判断条件无法靠随机的方式覆盖的时候,符号执行工具将对该条件求解获得可以覆盖该判断条件及之后代码的种子,从而提高代码覆盖率。或者将模糊测试工具和污点分析相结合,同样是面对比较复杂的判断条件,通过污点分析获知输入的哪些部分与判断条件有关,然后只变异污点分析获知与判断条件相关的输入部分以覆盖判断条件,提高代码覆盖率。再或者改变覆盖率的衡量方式,在afl中使用了边覆盖率来衡量覆盖率,在模糊测试工具libfuzz中使用了块覆盖率来衡量覆盖率。
相关技术要不是太重,或者对提升模糊测试工具测试被测试程序的覆盖率并没有很好的指导。现有技术要不是太重,或者对提升模糊测试工具测试被测试程序的覆盖率并没有很好的指导。例如符号执行技术需要将输入换成符号,跟随程序模拟执行,直到约束处条件建立方程求解。但程序规模越大,建立方程越困难,同时对于一些特定的内核程序难以模拟。符号执行求解越困难。再者使用污点分析技术需要建立污点标签和污染传播规则,这不仅需要对所有的被污染指令进行重新解释以添加污染操作,还需要存储大量的污点标签。一方面导致原被测试程序运行时间增长,还使得模糊测试工具申请较大的空间存储污点标签。而模糊测试只是简单对种子进行随机变异然后交给被测试程序执行。可以看出上述的技术的过程远远重于模糊测试工具的运行,拖慢模糊测试工具的速度。而简单的选择块覆盖率或边覆盖率为标准对被测试程序覆盖率,导致覆盖率信息大量的缺失,很难对模糊测试工具提升被测试程序的代码覆盖率有好的帮助。
发明内容
为解决上述技术问题的至少之一,本发明的目的在于:提供一种模糊测试的种子处理、模糊测试方法、系统和存储介质,以提高被测程序的代码覆盖率。
第一方面,本发明实施例提供了:
一种模糊测试的种子处理方法,包括以下步骤:
获取各程序块的静态权重;
在模糊测试中对各程序块的运行次数进行统计,在每次模糊测试中根据所述统计中各程序块的运行次数得到各程序块的动态权重;
根据所述静态权重和动态权重对种子库中的种子进行评分;
选择种子进行变异,其中,获得测试用例,种子评分越高被选择的概率越高;
统计代码覆盖率,根据测试用例的代码覆盖率将测试用例更新到种子库中。
进一步,所述获取各程序块的静态权重,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010723505.6/2.html,转载请声明来源钻瓜专利网。