[发明专利]过程间的空指针解引用检测方法、系统、设备以及介质有效
申请号: | 201811014686.4 | 申请日: | 2018-08-31 |
公开(公告)号: | CN109426615B | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 肖枭;时清凯;周金果;范刚 | 申请(专利权)人: | 深圳市源伞新科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 518055 广东省深圳市南山区西丽街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过程 指针 引用 检测 方法 系统 设备 以及 介质 | ||
1.一种过程间的空指针解引用检测方法,其特征在于,包括:
对待检测程序进行预处理;
生成所述待检测程序中的主调函数的符号表达式图和被调函数的符号表达式图,所述符号表达式图包括值节点、运算符节点,以及连接节点的数据依赖性边和控制依赖性边,其中,值节点包括终端值节点和非终端值节点,终端值节点表示当前函数外生成的未知的值或常量,所述终端值节点包括当前函数可访问的参数、全局变量和堆位置的值,非终端值节点表示当前函数内生成的值,并且每个非终端值与一个唯一的内存地址相关联,所述数据依赖性边是将节点连接到与其有直接数据依赖关系的值节点的有向边,所述控制依赖性边是当存在限定变量的条件时将变量连接到条件的所述有向边,所述控制依赖性边对应的箭头侧的节点是运算符节点;
根据所述被调函数的符号表达式图对所述被调函数进行过程内分析,以检测所述被调函数中的空指针以及生成所述被调函数的函数摘要;
将所述被调函数的所述函数摘要嵌入所述主调函数;
根据所述主调函数的符号表达式图对所述主调函数进行过程内分析,以检测所述主调函数中的空指针解引用。
2.根据权利要求1所述的过程间的空指针解引用检测方法,其特征在于,所述函数摘要包括符号摘要、输入摘要以及输出摘要;所述将所述被调函数的所述函数摘要嵌入所述主调函数,还包括:
通过被嵌入后的所述输入摘要获得所述被调函数中的空指针解引用并生成第一错误报告;
通过被嵌入后的所述输出摘要获得所述被调函数的输出变量的空指针解引用并生成第二错误报告;
所述符号摘要用于向所述主调函数传递实例化后的所述被调函数的所述输出变量。
3.根据权利要求2所述的过程间的空指针解引用检测方法,其特征在于,所述根据所述被调函数的符号表达式图对所述被调函数进行过程内分析,以检测所述被调函数中的空指针以及生成所述被调函数的函数摘要,具体包括以下步骤:
从空指针节点开始对所述被调函数的所述符号表达式图向后进行深度优先遍历,以获得所述被调函数中的发生空指针解引用的第一变量;
根据所述第一变量生成空指针解引用错误报告;
若所述第一变量的路径约束中包括所述被调函数的输入变量,则根据所述第一变量生成所述输入摘要。
4.根据权利要求3所述的过程间的空指针解引用检测方法,其特征在于,所述输入摘要为一五元组其中:R为报告键值,I为输入变量,C为路径约束集,D为摘要描述,S为检查特定信息。
5.根据权利要求2所述的过程间的空指针解引用检测方法,其特征在于,所述根据所述被调函数的符号表达式图对所述被调函数进行过程内分析,以检测所述被调函数中的空指针以及生成所述被调函数的函数摘要,具体包括以下步骤:
根据所述被调函数的所述符号表达式图获得所述被调函数的输出变量,以及所述输出变量的路径约束;
根据所述被调函数的所述输出变量和所述输出变量的所述路径约束生成所述被调函数的符号摘要。
6.根据权利要求5所述的过程间的空指针解引用检测方法,其特征在于,所述符号摘要为一三元组,其中:I为所述被调函数的输入变量集合,O为所述被调函数的输出变量集合,C为路径约束集合。
7.根据权利要求2所述的过程间的空指针解引用检测方法,其特征在于,所述根据所述被调函数的符号表达式图对所述被调函数进行过程内分析,以检测所述被调函数中的空指针以及生成所述被调函数的函数摘要,具体包括以下步骤:
根据所述输出变量的路径约束,判断所述输出变量是否存在发生空指针解引用的所述路径约束:
若存在,则根据所述输出变量和所述路径约束生成所述被调函数的所述输出摘要。
8.根据权利要求7所述的过程间的空指针解引用检测方法,其特征在于,所述输出摘要为一四元组,其中:I为一输入变量,C为路径约束集,D摘要描述,S为检查特定信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市源伞新科技有限公司,未经深圳市源伞新科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811014686.4/1.html,转载请声明来源钻瓜专利网。