[发明专利]一种基于符号化函数摘要的静态分析方法及系统有效

专利信息
申请号: 201310538362.1 申请日: 2013-11-04
公开(公告)号: CN103744776B 公开(公告)日: 2016-11-16
发明(设计)人: 宫云战;金大海;黄俊飞;王雅文;董玉坤 申请(专利权)人: 北京邮电大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京派特恩知识产权代理有限公司 11270 代理人: 张振伟;王黎延
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 符号化 函数 摘要 静态 分析 方法 系统
【权利要求书】:

1.一种基于符号化函数摘要的静态分析方法,其特征在于,所述方法包括:

利用基于区域的符号化三值逻辑RSTVL模型,描述当前函数的控制流图的节点的变量的存储状态;

依据所述控制流图,确定所述函数的当前节点为非最后节点且所述当前节点存在函数调用时,将被当前函数调用的函数的函数摘要进行实例化,并更新所述RSTVL模型中受函数调用影响的变量;

确定所述函数的当前节点为最后节点且确定所述当前节点具有函数返回值时,获取所述函数返回值的符号表达式;查找出存储状态发生变化的变量,并获取存储状态发生变化的变量的符号表达式;将所述函数返回值的符号表达式与存储状态发生变化的变量中的外部变量的符号表达式添加到当前函数的函数摘要中。

2.根据权利要求1所述的符号化函数摘要的静态分析方法,其特征在于,所述利用基于区域的符号化三值逻辑RSTVL模型,描述当前函数的控制流图的节点的变量的存储状态,包括:

对所述当前函数的参数及所述当前函数使用的全局变量生成扩充变量;

利用所述RSTVL模型,描述所述当前函数的参数及所述全局变量分别占用的内存区域、分别对应的符号表达式、以及各自的取值区间;

将所述当前函数的参数及所述全局变量的扩充变量分别占用的内存区域、分别对应的符号表达式、以及各自的取值区间描述为变量的存储状态。

3.根据权利要求2所述符号化函数摘要的静态分析方法,其特征在于,所述对当前函数的参数及所使用的全局变量生成扩充变量,包括:

基于定义-使用链,识别出被所述当前函数使用的全局变量,所述全局变量为复合类型时,扩充出所述全局变量的每个成员变量;全局变量为指针类型时,扩充出所述全局变量的每一级指针变量;

所述当前函数的参数为复合类型时,扩充出所述参数的每个成员变量,所述参数为指针类型时,扩充出所述参数的每一级指针变量。

4.根据权利要求1所述的符号化函数摘要的静态分析方法,其特征在于,在所述将被当前函数调用的函数的函数摘要进行实例化之前,所述方法还包括:

生成所述被当前函数调用的函数的函数摘要。

5.根据权利要求4所述的符号化函数摘要的静态分析方法,其特征在于,所述生成所述被当前函数调用的函数的函数摘要,包括:

将所述被当前函数调用的函数作为被调用函数;

基于所述被调函数的RSTVL模型,获取所述被调函数的参数的符号表达式、全局变量的符号表达式;

确定由所述被调函数指针类型的参数扩充出的变量在所述被调函数的函数出口处及函数入口处不一致时,将所述扩充变量及其对应的符号表达式添加到所述被调函数的函数摘要中;

确定所述全局变量的取值区间在所述被调函数的函数出口处及函数入口处不一致时,将所述全局变量及其对应的符号表达式添加到所述被调函数的函数摘要中;

所述被调函数存在有函数返回值时,依据所述RSTVL模型,获取所述函数返回值的符号表达式,并将所述符号表达式添加到所述函数摘要中。

6.根据权利要求5所述的符号化函数摘要的静态分析方法,其特征在于,所述方法还包括:

对于所述被调用函数的参数、全局变量、函数返回值的符号表达式中的每个符号,获取所述符号的取值区间;

当该取值区间类型为指针类型时,且该指针类型区间的指向集合中存在有区域编号标识的区域是局部变量的区域时,将该区域编号替换为表示野指针的区域编号;指针类型区间的指向集合中未存在区域编号标识的区域是局部变量的区域时,将该指针类型区间的指向集合中的区域编号与具有该区域编号的区域所对应的变量添加到函数摘要中;

当该取值区间类型为非指针类型时,获取所述符号对应的变量;所述符号对应的变量为局部变量时,将所述符号与所述符号的取值区间添加到函数摘要中;所述符号对应的变量为非局部变量时,将所述符号与所述符号对应的变量添加到函数摘要中。

7.根据权利要求1所述的符号化函数摘要的静态分析方法,其特征在于,所述将被当前函数调用的函数的函数摘要进行实例化,包括:

基于所述当前函数在函数调用点处的上下文环境,获取所述被当前函数调用的函数的形参与所述当前函数的实参之间的对应关系;

获得实参对应的符号表达式,并依据所述对应关系,将实参对应的符号表达式替换形参的符号表达式中的符号。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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