[发明专利]基于模拟执行的程序模糊测试方法及装置有效
申请号: | 201910220776.7 | 申请日: | 2019-03-22 |
公开(公告)号: | CN109992507B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 谢章伟;刘剑;李元;杨睿其;崔展齐 | 申请(专利权)人: | 北京信息科技大学;中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王庆龙;周永君 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 模拟 执行 程序 模糊 测试 方法 装置 | ||
1.一种基于模拟执行的程序模糊测试方法,其特征在于,包括:
获取当前测试用例,利用所述当前测试用例对待测试程序进行模糊测试,获得测试结果,判断所述测试结果是否满足测试结束条件,获得第一判断结果;
若所述第一判断结果为否,则根据测试用例对应的覆盖路径集生成未覆盖路径对应的约束条件,所述约束条件为预存的约束条件集中的一个约束条件;采用梯度下降算法对所述当前测试用例进行更改处理,获得新测试用例,根据所述新测试用例和未覆盖路径对应的约束条件进行程序模拟,获得模拟结果,判断所述模拟结果是否满足约束条件,获得第二判断结果;所述程序模拟是指将生产的新测试用例带入约束条件;
若所述第二判断结果为是,则利用所述新测试用例对待测试程序进行模糊测试,获得新测试结果,并在所述新测试结果满足测试结束条件时,输出测试报告;所述测试结束条件是是否对全部路径完成测试。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第二判断结果为否,则对新测试用例重复执行测试用例更改操作。
3.根据权利要求1所述的方法,其特征在于,所述约束条件集的获取步骤包括:
确定输入变量,将输入变量符号化,生成初始化状态信息;
获取所述待测试程序,构建所述待测试程序的控制流图,根据所述控制流图和初始化状态信息生成待处理路径状态信息集;
从所述待处理路径状态信息集中选取目标待处理路径状态信息;
判断所述目标待处理路径状态信息中是否存在下一条程序语句,若不存在,则判断所述待处理路径状态信息集中是否存在未选取的目标待处理路径状态信息,若不存在,则输出约束条件集。
4.一种基于模拟执行的程序模糊测试装置,其特征在于,包括:
第一判断模块,用于获取当前测试用例,利用所述当前测试用例对待测试程序进行模糊测试,获得测试结果,判断所述测试结果是否满足测试结束条件,获得第一判断结果;
第二判断模块,用于在所述第一判断结果为否,根据测试用例对应的覆盖路径集生成未覆盖路径对应的约束条件,所述约束条件为预存的约束条件集中的一个约束条件;采用梯度下降算法对所述当前测试用例进行更改处理,获得新测试用例,根据所述新测试用例和未覆盖路径对应的约束条件进行程序模拟,获得模拟结果,判断所述模拟结果是否满足约束条件,获得第二判断结果;所述程序模拟是指将生产的新测试用例带入约束条件;
处理模块,用于在所述第二判断结果为是,利用所述新测试用例对待测试程序进行模糊测试,获得新测试结果,并在所述新测试结果满足测试结束条件时,输出测试报告;所述测试结束条件是是否对全部路径完成测试。
5.根据权利要求4所述的装置,其特征在于,所述第二判断模块还用于:在所述第二判断结果为否,对新测试用例重复执行测试用例更改操作。
6.根据权利要求4所述的装置,其特征在于,还包括获取模块,用于:
确定输入变量,将输入变量符号化,生成初始化状态信息;
获取所述待测试程序,构建所述待测试程序的控制流图,根据所述控制流图和初始化状态信息生成待处理路径状态信息集;
从所述待处理路径状态信息集中选取目标待处理路径状态信息;
判断所述目标待处理路径状态信息中是否存在下一条程序语句,若不存在,则判断所述待处理路径状态信息集中是否存在未选取的目标待处理路径状态信息,若不存在,则输出约束条件集。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述基于模拟执行的程序模糊测试方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述基于模拟执行的程序模糊测试方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信息科技大学;中国科学院信息工程研究所,未经北京信息科技大学;中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910220776.7/1.html,转载请声明来源钻瓜专利网。