[发明专利]一种基于符号执行的数组越界检测方法在审

专利信息
申请号: 201610202057.9 申请日: 2016-04-01
公开(公告)号: CN105912459A 公开(公告)日: 2016-08-31
发明(设计)人: 胡昌振;单纯;于泽群;薛静锋;赵小林 申请(专利权)人: 北京理工大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京理工大学专利中心 11120 代理人: 高燕燕
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供一种基于符号执行的数组越界检测方法,首先分析函数所有路径,输入:一个函数所有的逻辑路径,函数信息,控制流图,函数实参列表;输出:所有路径的约束系统;然后单个路径分析,输入:一条逻辑路径,函数信息,控制流图,函数实参列表。输出:该条路径的约束系统以及一些附加信息。约束系统:关于数组变量的所有范围约束;附加信息:函数信息,函数调用关系,路径信息。
搜索关键词: 一种 基于 符号 执行 数组 越界 检测 方法
【主权项】:
一种基于符号执行的数组越界检测方法,其特征在于,包括以下步骤:步骤一、分析函数所有路径,遍历函数的逻辑路径列表,得到其中的第一个路径对象path,如果path为null,则直接返回约束系统及附加信息,并退出该函数;否则将路径对象、函数信息、控制流图、实参列表作为参数,执行单个路径分析,将path指向下一个逻辑路径对象,然后执行步骤二;步骤二、单个路径分析,如果函数实参列表的大小不为0,执行步骤三;否则,执行步骤四;步骤三、根据函数信息,把实参的约束,值传递给形参变量,并添加到约束列表和变量类型列表中;步骤四、遍历该路径,得到它的第一个结点node;如果node为null,则直接返回约束系统及附加信息,并退出该函数;否则,执行步骤五;步骤五、通过node的编号信息,在控制流图中查找到对应的控制流结点,对该控制流图结点的语句类型进行判断,如果语句类型为VARIABLE_DEF,则执行步骤六;如果语句类型为Assign_EXPR,则执行步骤七;如果语句类型为for,则执行步骤八;如果语句类型为Other_EXPR,则执行步骤九;步骤六、语句类型为VARIABLE_DEF:将该语句涉及的变量添加到变量类型列表,如果涉及的是数组或整型变量,生成区间表示,利用区间与上下界生成约束,并添加到约束列表中;步骤七、语句类型为Assign_EXPR:如果语句涉及的变量是整型或数组变量,则进行区间运算,生成约束,并添加到约束列表中;步骤八、语句类型为for:通过控制流图结点,得到for的条件表达式信息,解析该条件表达式,得到整形变量名称,初始值,根据相应的约束规则,生成该整型变量的约束,并以(变量名称,约束)的形式存储到变量类型列表中;步骤九、语句类型为Other_EXPR:该语句是函数调用。根据实参和参数类型列表,如果实参是数组或整型变量,则要把约束赋给相应的形参,并且把所有实参的值赋给形参,然后执行步骤一分析函数所有路径。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201610202057.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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