[发明专利]基于全局超级块支配图的动态符号执行方法及其装置有效
申请号: | 201310024675.5 | 申请日: | 2013-01-23 |
公开(公告)号: | CN103116540A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 张小松;陈厅;吉小丽;牛伟纳;陈瑞东;王东 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都华典专利事务所(普通合伙) 51223 | 代理人: | 徐丰;杨保刚 |
地址: | 610000 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于全局超级块支配图的动态符号执行方法及其装置,属于计算机软件测试和软件安全领域。方法如下:获取被测可执行程序的控制流图,按支配关系相关理论转化为超级块支配图。对图中每个节点标“权”,并在每次符号执行前更新,“权”表示执行该节点最少能覆盖的基本块个数。在一次动态符号执行结束后,从超级块支配图中选择“权”值最大的节点,并生成对应的预测路径约束条件,然后用求解器求解生成新测试用例,驱动下次执行。本方案与已有技术相比,能够以最少的测试用例尽可能覆盖更多的代码块,有效提高代码覆盖率增长速度,缓解路径爆炸问题。本发明对提高动态符号执行测试大型应用软件的性能有重大的意义。 | ||
搜索关键词: | 基于 全局 超级 支配 动态 符号 执行 方法 及其 装置 | ||
【主权项】:
一种基于全局超级块支配图的动态符号执行方法,其特征在于包括以下步骤:1)、获得程序的控制流图和函数调用关系图; 2)、利用Boost图形库提供的支配树算法获得被测程序的立即前、立即后支配树;3)、合并立即前、立即后支配树形成函数基本块支配图;4)、合并函数基本块支配图中的强连通分量形成函数超级块支配图;5)、利用函数调用关系图将所有函数超级块支配图合并,形成全局超级块支配图,并为全局超级块支配图中的各节点设置初始权值,并标记为“未执行”状态;6)、为被测程序提供初始输入,并对被测程序插装,将被测试程序运行起来;7)、检测程序执行路径上是否有潜在的漏洞,并自动搜集路径约束条件;8)、利用执行过程中的基本块覆盖信息更新超级块支配图各节点的权值和执行状态;9)、根据超级块支配图的权值,从已执行路径上的所有分支中选择权值最大的分支节点;10)、从路径约束条件中找出第(9)步选择出的分支节点对应的条件表达式,将该表达式取反,保留该表达式之前的约束条件,删除之后的,形成预测路径约束条件;11)、利用求解器求解预测路径约束条件,生成新测试用例,如果无解,则回到第(9)步,重新选择分支;12)、如果还有新的测试用例生成,则代替初始测试用例回到第(6)步续执行。否则表示所有的可执行路径分支都已被执行,则测试结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310024675.5/,转载请声明来源钻瓜专利网。
- 上一篇:移动热点唤醒处理方法及装置
- 下一篇:金币巧克力冲切成型机构