[发明专利]空指针检测方法有效

专利信息
申请号: 201811373522.0 申请日: 2018-11-16
公开(公告)号: CN109522232B 公开(公告)日: 2021-10-22
发明(设计)人: 胡凇源;周晓聪;衣杨 申请(专利权)人: 中山大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京超凡志成知识产权代理事务所(普通合伙) 11371 代理人: 吴开磊
地址: 510000 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 指针 检测 方法
【权利要求书】:

1.一种空指针检测方法,其特征在于,包括:

获取待分析程序的控制流图;

获取所述控制流图中的所有节点;

沿着所有可能的路径,遍历所述控制流图中的所有节点,获取每个所述节点内待检测的变量值与到达条件;

遍历至所述控制流图出口节点时,结合所述出口节点的变量的值与到达条件,确定返回的变量值是否为空;

所述沿着所有可能的路径,遍历所述控制流图中的所有节点,获取每个所述节点内待检测的变量值与到达条件,包括:

计算所述节点n的入函数In(n),其中n为大于零的整数,且小于或等于待分析程序的控制流图中所有节点的数量;

扩展所述节点n的生成条件定值,并获取扩展后的生成条件定值,所述扩展为:当控制流图里的入口节点的条件取值为ture时,到了下一个节点,若下个节点为if语句,则将入口节点的条件值ture与if语句里条件表达式的条件值进行合取,所得到的合取后的值为扩展后的生成条件定值;

筛选所述扩展后的生成条件定值,并删除未通过筛选的条件定值;

分析剩余的条件定值,确定所述节点n的变量值与对应的条件定值。

2.根据权利要求1所述的空指针检测方法,其特征在于,所述沿着所有可能的路径,遍历所述控制流图中所有节点,获取每个所述节点内待检测的变量值与到达条件之前,还包括:

初始化待检测变量对应入口节点的入函数In(n)和出函数Out(n),其中,所述待检测变量对应的所有节点中除所述入口节点外,其余节点的In(n)和Out(n)均为空集。

3.根据权利要求1所述的空指针检测方法,其特征在于,所述筛选所述扩展后的生成条件定值,并删除未通过筛选的条件定值之后,还包括:

将通过筛选的条件定值加入到Out(n);

其中,若Out(n)中添加了新的条件定值或In(n)中某个条件定值的条件发生变化,都将当前节点n的所有后继节点添加到工作列表。

4.根据权利要求3所述的空指针检测方法,其特征在于,所述筛选所述扩展后的生成条件定值,并删除未通过筛选的条件定值还包括:循环从所述工作列表内取出一个节点进行计算和筛选,直至所述工作列表为空。

5.根据权利要求4所述的空指针检测方法,其特征在于,所述循环从所述工作列表内取出一个节点进行计算和筛选,直至所述工作列表为空,具体包括:

当所述Out(n)中添加了新的条件定值,或者所述In(n)中的某个条件定值的条件发生变化,都将当前节点n的所有后继节点添加到所述工作列表继续进行筛选,直至所述工作列表为空时停止。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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