[发明专利]一种缓解路径爆炸的动态符号执行方法有效
申请号: | 201210106958.X | 申请日: | 2012-04-13 |
公开(公告)号: | CN102708045A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 张小松;陈厅;吉小丽;朱聪;侯浩俊 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都华典专利事务所(普通合伙) 51223 | 代理人: | 徐丰;杨保刚 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于计算机软件安全测试领域,提供了一种缓解路径爆炸的动态符号执行方法。其旨在与提供一种解决路径爆炸问题的方法,该方法通过将符号执行产生的约束条件在程序静态决策图上的一次映射、获取过程,能够消除程序执行过程中循环产生的冗余约束条件,从而消除动态符号执行中因循环而导致的路径爆炸问题。本发明应用于软件测试。 | ||
搜索关键词: | 一种 缓解 路径 爆炸 动态 符号 执行 方法 | ||
【主权项】:
一种缓解路径爆炸的动态符号执行方法,包括以下步骤:(1)通过控制流图生成及化简模块获取程序对应的静态控制流图,并根据相关理论将控制流图化简为决策图,保存在决策图数据结构中;(2)通过插桩模块对被测程序插桩;(3)通过实际执行和符号执行模块,一方面实际运行程序,检测本次运行路径中潜在的漏洞;另一方面进行符号执行,搜集该执行路径上遇到的分支节点的条件表达式,得到约束条件;(4)通过约束条件映射模块将符号执行收集到的约束条件保存到决策图对应的节点中,如果存在循环,则下一次迭代产生的约束条件将覆盖上一次保存在决策图中的约束条件,保证一个循环中相同的约束条件仅被保存一次;(5)通过路径约束条件获取模块在完成一次混合执行测试结束后,即实际执行和符号执行模块执行测试结束后,按深度优先搜索策略从决策图中搜索约束条件,组成路径约束条件,输出是精简的路径约束条件; (6)通过路径约束条件取反模块将路径约束条件的每一个表达式取反,并保存该表达式之前的约束条件,删除之后的约束条件,形成预测路径约束条件;(7)通过求解器求解模块对预测路径约束条件求解,生成新的测试用例,该测试用例能够驱动下次测试朝不同的分支路径执行,直到所有的路径都被测试完。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210106958.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种镁橄榄石陶瓷材料、制备方法及其应用
- 下一篇:全自动高效电脑绕线机