[发明专利]一种符号执行方法、电子设备以及存储介质有效

专利信息
申请号: 201811602959.7 申请日: 2018-12-26
公开(公告)号: CN111367786B 公开(公告)日: 2021-06-08
发明(设计)人: 李默;俞科技;陆晓峰 申请(专利权)人: 华为技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 深圳市深佳知识产权代理事务所(普通合伙) 44285 代理人: 王仲凯
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 符号 执行 方法 电子设备 以及 存储 介质
【说明书】:

发明实施例公开了一种符号执行方法、电子设备以及存储介质,所述方法包括确定代码基本块,根据所述父节点确定初始定义数据、第一约束条件以及第二约束条件,根据所述第一子节点对所述初始定义数据进行携带所述第一约束条件的赋值操作以生成第一存储数据集合,根据所述第二子节点对所述初始定义数据进行携带所述第二约束条件的赋值操作以生成第二存储数据集合。采用本方面所示的符号执行的方法所示可知,在无需对路径进行合并以及复制的操作,即可一次完成对所述代码基本块所包括的所有路径的遍历,提高了对被测试代码所包括的路径进行遍历的效率。

技术领域

本发明实施例涉及计算机技术领域,尤其涉及的是一种符号执行方法、电子设备以及存储介质。

背景技术

符号执行技术是应用程序分析与测试的一种重要技术手段,在20世纪70年代被提出,但由于一些技术难点未克服,符号执行在之后相当长的时间里基本停留于理论研究和简单测试样例上。近几年得益于求解器性能大幅提升,符号执行技术得到了重新青睐,相关的学术研究和工业实践数量也呈高速增长态势。

符号执行技术中的一次测试回合里,应用程序的输入值不是确定的,而是未知的,称为符号值。我们称这种执行方式叫符号执行,由于输入是未知量,所以在遇到应用程序分支时,符号执行引擎会判断分支的可行性,并将可行的路径加入路径约束集合,并纪录路径约束。路径约束的含义是对能够使应用程序进入当前路径的符号值的约束,所以一条路径执行完毕后可以求解它的路径约束,得到进入该路径的一个真实用例。如此下去理论上将会遍历应用程序所有可达路径。每深入应用程序的一层,路径约束集合的大小将增加,同时路径的个数也将增加。

因符号执行技术是用未知的符号值来代替实际值并进行遍历执行探索的应用程序测试技术,理论上可以遍历应用程序中所有可达路径。但实际中,应用程序的可能执行路径空间的数量很可能是天文数字,导致符号执行引擎资源耗尽而不可用,我们称之为路径爆炸,在路径爆炸的情况下,在有限的时间消耗和资源消耗内,无法完成对应用程序的有效分析。

发明内容

本发明提供一种能够有效的缓解路径爆炸的一种符号执行方法、电子设备以及存储介质。

本发明实施例第一方面提供了一种符号执行方法,包括:

步骤A、符号执行引擎确定代码基本块。

本实施例所示的符号执行引擎可对存储器所运行的需要进行测量的被测试代码进行遍历以识别出被测试代码所包括的各代码基本块,且所述代码基本块具有单一入口以及单一出口,且该代码基本块的出口包括但不限于函数调用、约束、分支等等,只要代码基本块使应用程序的代码逻辑上不再连续的操作即可。

具体的,所述代码基本块包括父节点、第一子节点、第二子节点以及结束节点,在对所述代码基本块进行遍历时,所述代码执行引擎可确定出所述代码基本块所对应的预设代码执行顺序,所述预设代码执行顺序包括第一执行路径以及第二执行路径,所述第一执行路径按代码执行顺序依次降低的排序依次包括所述父节点、所述第一子节点和所述结束节点,所述第二执行路径按代码执行顺序依次降低的排序依次包括所述父节点、所述第二子节点和所述结束节点,且所述第一子节点和所述第二子节点之间无代码执行的先后顺序;

步骤B、符号执行引擎执行所述父节点。

在所述符合执行引擎执行所述父节点后,即可根据所述父节点确定初始定义数据、第一约束条件以及第二约束条件,所述初始定义数据为输入至所述代码基本块的数据,所述第一约束条件为执行所述第一子节点的条件,所述第二约束条件为执行所述第二子节点的条件。

步骤C、符号执行引擎执行所述第一子节点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811602959.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top