[发明专利]使用释放后内存的检测方法、系统、设备及存储介质有效
申请号: | 201811013000.X | 申请日: | 2018-08-31 |
公开(公告)号: | CN109426723B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 肖枭;时清凯;周金果;范刚 | 申请(专利权)人: | 深圳市源伞新科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 518055 广东省深圳市南山区西丽街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 释放 内存 检测 方法 系统 设备 存储 介质 | ||
1.一种使用释放后内存的检测方法,其特征在于,包括以下步骤:
输入待检测的程序;
生成待检测的程序中每个函数的符号表达式图,所述符号表达式图包括节点和连接节点的边,所述节点包括值节点和运算符节点,所述边包括数据依赖性边和控制依赖性边,其中,所述数据依赖性边是将节点连接到与其有直接数据依赖关系的值节点的有方向性的边,所述控制依赖性边是当存在限定变量的条件时将变量连接到条件的有向边;
检测所述符号表达式图中代表进行内存释放操作源的源节点到代表进行内存释放操作对象的对象节点的路径的约束条件是否都满足,若是,则发现使用释放后内存缺陷;
检测路径的约束条件是否都满足的步骤包括:
在符号表达式图中从源节点反向顺序的第一个节点作为中间节点,建立所述符号表达式图中代表进行内存释放操作源的源节点与中间节点的第一路径,以及代表进行内存释放操作对象的对象节点与中间节点的第二路径;
收集第一路径的约束条件与第二路径的约束条件;
检测所述第一路径的路径约束条件与第二路径的路径约束条件是否能同时满足,若是,则发现使用释放后内存缺陷。
2.根据权利要求1所述的使用释放后内存的检测方法,其特征在于,建立所述第一路径的步骤包括:
对于各个函数的符号表达式图,从所述中间节点开始对所述符号表达式图进行深度优先遍历;
根据所述中间节点达到所述源节点的路径建立第一路径。
3.根据权利要求2所述的使用释放后内存的检测方法,其特征在于,收集第一路径的约束条件的步骤包括
判断当前检测函数中从中间节点到源节点之间的路径中是否存在被调函数;
若是,则将所述被调函数的函数摘要组嵌入当前检测函数的符号表达式图。
4.根据权利要求1所述的使用释放后内存的检测方法,其特征在于,建立所述第二路径的步骤包括:
对于各个函数的符号表达式图,从所述中间节点开始对所述符号表达式图进行深度优先遍历;
遍历到达所述对象节点时,根据所述中间节点达到所述对象节点之间的路径建立第二路径。
5.根据权利要求4所述的使用释放后内存的检测方法,其特征在于,收集第二路径的约束条件的步骤包括
判断当前检测函数中从中间节点到对象节点之间的路径中是否存在被调函数;
若是,则将所述被调函数的函数摘要组嵌入当前检测函数的符号表达式图。
6.根据权利要求1至5中的任意一项所述的使用释放后内存的检测方法,其特征在于,所述方法还包括如下步骤:生成每个函数的函数摘要组,所述函数摘要组至少包括符号摘要,所述符号摘要包括函数输入、函数输出以及函数输入节点到函数输出节点之间路径的约束集。
7.根据权利要求6所述的使用释放后内存的检测方法,其特征在于,所述函数摘要组还包括检查器定制摘要,所述检查器定制摘要包括输入摘要、输出摘要和传递摘要;
在所述第一路径的节点的检查器定制摘要中:
所述输入摘要包括函数输入、函数输入节点到源节点之间路径约束、分析结果报告、生成报告摘要的相应描述和检查器特定信息;
所述输出摘要包括函数输出、路径约束、生成报告摘要的相应描述和检查器特定信息;
所述传递摘要包括函数输入、函数输入节点到中间节点之间的路径约束、生成报告摘要的相应描述和检查器特定信息;
在所述第二路径的节点的检查器定制摘要中:
所述输入摘要包括函数输入、函数输入节点到对象节点之间路径约束、分析结果报告、生成报告摘要的相应描述和检查器特定信息;
所述输出摘要包括函数输出、路径约束、生成报告摘要的相应描述和检查器特定信息;
所述传递摘要包括函数输入、函数输入节点到中间节点之间的路径约束、生成报告摘要的相应描述和检查器特定信息。
8.根据权利要求7所述的使用释放后内存的检测方法,其特征在于,还包括:
发现使用释放后内存缺陷之后,在该节点的所述函数摘要组中再生成一个输入摘要。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市源伞新科技有限公司,未经深圳市源伞新科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811013000.X/1.html,转载请声明来源钻瓜专利网。