Document
拖动滑块完成拼图
个人中心

预订订单
服务订单
发布专利 发布成果 人才入驻 发布商标 发布需求

在线咨询

联系我们

龙图腾公众号
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 恭喜上海那一科技有限公司贾枭获国家专利权

恭喜上海那一科技有限公司贾枭获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网恭喜上海那一科技有限公司申请的专利一种利用数据流分析算法分析C代码中的内存安全的方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN114153451B

龙图腾网通过国家知识产权局官网在2025-04-29发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202111201254.6,技术领域涉及:G06F8/41;该发明授权一种利用数据流分析算法分析C代码中的内存安全的方法是由贾枭;孙振东设计研发完成,并于2021-10-15向国家知识产权局提交的专利申请。

一种利用数据流分析算法分析C代码中的内存安全的方法在说明书摘要公布了:本发明提供了一种利用数据流分析算法分析C代码中的内存安全的方法。将指令定义成形式化后的指令集,进行如下操作,静态分析出代码需要并给指针添加标记;将代码转化成抽象语法树,并对其每一个指令进行类型检查,同时对涉及到的指针权限转移或借用语句进行修改,使之在静态单赋值中有所区分;对抽象语法树进行线性化,得到静态单赋值形式的控制流图,进行数据流分析,得到收敛的权限映射表的结果;利用数据流分析算法迭代稳定后的结果,利用错误检查函数检查是否存在内存安全问题。其中本发明的有益效果是:基于C语言中一系列常见的涉及内存的指令,定义了形式化后的指令集,定义了一系列内存错误检测方法,便于检测内存安全。

本发明授权一种利用数据流分析算法分析C代码中的内存安全的方法在权利要求书中公布了:1.一种利用数据流分析算法分析C代码中的内存安全的方法,其特征在于:将C语言内存指令定义成形式化后的指令集,然后进行如下操作:静态分析出代码对应指针添加标记的位置,并为代码自动添加标记;分析前,对传入的文件进行预处理,遍历整个文件的代码,查找其中全部的指针并观测指针的行为,对指针是否有内存分配或释放的行为进行分析,添加不同的指针标记;如果有内存释放或分配、或对具有所有权的指针进行转移的行为,代表它对一块内存具有所有权,应为这个指针添加具有所有权的标记;反之,认为这个指针仅借走了所有权,添加不具有所有权的标记;将上述代码转化成抽象语法树,并对其每一个指令进行类型检查,同时对涉及到的指针权限转移或借用语句进行修改,使之在静态单赋值中有所区分;对于抽象语法树中的每一个函数,遍历其中的每一条指令,如果涉及到所有权转移,即将拥有一块空间的指针转移给另一个拥有所有权的指针,添加指针所有权需要转移的注释;如果涉及到所有权借出,即一个没有所有权的指针借走了另一个指针的权限,添加指针所有权被借出的注释;对抽象语法树进行线性化,得到静态单赋值形式的控制流图,进行数据流分析,得到收敛的指针权限映射表的结果;所述抽象语法树包括函数参数和返回值的信息,数据流分析算法根据抽象语法树计算函数对应的指针权限映射表,指针权限映射表包含了所有从变量到它所具有的指针权限的映射;利用数据流分析算法迭代稳定后的结果,利用内存错误检测方法检查是否存在内存安全问题;所述指令集包括内存分配、内存释放、内存所有权转移、内存所有权借用、强制类型转化、指针离开作用域、取指令、存指令、合并指令和函数调用指令;所述指针包括拥有所有权和不拥有所有权两种类型;数据流分析的具体步骤如下:对每个函数逐一进行分析,分别记录它们参数和返回值的权限种类,即拥有所有权还是不拥有所有权;如果是拥有所有权的参数和返回值,在函数调用时转移所有权;如果是不拥有所有权的参数和返回值,由于不知道函数内部的情况,在函数调用时将权限记为“*”;如果不是指针,不涉及到所有权的变化,记为“非指针”;然后为每条涉及内存的指令定义指针权限映射表的转移方程,即由一个指针权限经过一条指令后转变为的指针权限以及不同指针权限映射表的合并操作;将抽象语法树转化为静态单赋值,对于每个函数分别进行分析。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人上海那一科技有限公司,其通讯地址为:200240 上海市闵行区剑川路951号零号湾1栋南楼413;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。