[发明专利]基于规约导向的错误处理缺陷的检测方法及系统有效
申请号: | 202111575302.8 | 申请日: | 2021-12-22 |
公开(公告)号: | CN113961475B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 李池;周旻;顾明 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 王守梅;袁文婷 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 规约 导向 错误 处理 缺陷 检测 方法 系统 | ||
1.一种基于规约导向的错误处理缺陷的检测方法,其特征在于,包括:
获取待测的源代码文件以及规约文件;其中,所述规约文件包括描述目标接口的错误处理规约和资源申请和释放函数对规约;将所述规约文件解析为规约实例,包括将所述描述目标接口的错误处理规约进行解析获得错误处理规约实例,以及将所述资源申请和释放函数对规约解析为函数对约束实例;对路径集合中每条路径进行缺陷检测中,所述缺陷检测为依次进行第一缺陷检测,第二缺陷检测以及第三缺陷检测;
将所述源代码文件进行编译获得程序的中间表示,并将所述程序的中间表示进行转化获得CFA图结构;以及,将所述规约文件解析为规约实例;
对所述规约实例进行筛选,获得存在目标接口的调用者的CFA图结构的规约实例;
将所述规约实例中各个目标接口的调用者对应的CFA图结构分别作为待分析入口,对所有待分析入口逐个进行CFA图结构分析;其中,所述CFA图结构分析包括通过符号执行技术获得两个以上的覆盖上下文信息的符号路径信息;
对每个符号路径信息根据所述规约实例的目标接口进行路径提取,获得路径集合;
利用缺陷检测算法和所述规约实例,对所述路径集合中每条路径进行缺陷检测,并获得错误处理缺陷检测数据;
利用所述错误处理缺陷检测数据形成错误处理缺陷报告。
2.根据权利要求1所述的检测方法,其特征在于,
利用所述错误处理缺陷检测数据形成错误处理缺陷报告,包括:
根据目标接口使用情况对所述错误处理缺陷检测数据进行主观缺陷判定,其中,将因目标接口的规约描述错误引起的错误处理缺陷作为主观缺陷;
过滤所述错误处理缺陷检测数据中的主观缺陷,形成错误处理缺陷报告。
3.根据权利要求1所述的检测方法,其特征在于,
通过符号执行技术获得两个以上的覆盖上下文信息的符号路径信息,包括:
对规约实例中每个目标接口的调用者的CFA图结构,通过符号执行技术对所述CFA图结构的路径进行抽象描述,获得多个覆盖上下文信息的符号路径信息;其中,每条路径由各个动作和各个动作的结束时值的映射关系组成。
4.根据权利要求3所述的检测方法,其特征在于,
通过符号执行技术对CFA图结构的路径进行抽象描述,获得多个覆盖上下文信息的符号路径信息;包括:
提取所述CFA图结构的每条路径上的每个动作并对所述动作的结束时值进行分析;
基于设定的符号值对所述动作分配唯一的ID;其中,所述符号值包括动作产生的ID、动作产生的接口以及所对应的参数位置n;
分析每条路径的条件判断语句Assume,函数调用语句 Call 和返回语句 Return,获得覆盖上下文的符号路径信息。
5.根据权利要求1所述的检测方法,其特征在于,
第一缺陷为错误处理过程中检测条件缺失,第二缺陷为错误处理过程中检测条件错误以及第三缺陷为错误处理导致资源泄漏。
6.根据权利要求5所述的检测方法,其特征在于,
对路径集合中的每一条路径依次进行第一缺陷,第二缺陷以及第三缺陷检测,并获得错误处理缺陷信息;包括,
对所述路径集合中的每一条路径是否存在第一缺陷进行判定;若待检测路径不包含针对目标接口条件判断语句Assume,则确定当前路径存在第一缺陷;
若所述路径包含针对目标接口条件判断语句Assume;则对所述路径继续进行是否存在第二缺陷进行判定;若待检测路径的检测条件与所述错误处理规约实例描述的检测条件不匹配,则确定当前路径存在第二缺陷;
若所述路径的检测条件与所述错误处理规约实例描述的检测条件匹配;则对所述路径继续进行是否存在第三缺陷进行判定;判断所述路径在目标接口进行错误处理之前是否存在资源申请的操作,若存在,则判断所述路径在目标接口进行错误处理之后是否存在资源释放动作;若在目标接口进行错误处理之后不存在资源释放动作,则确定当前路径存在第三缺陷。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111575302.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种摇匀装置
- 下一篇:一种用于夹持西林瓶的夹头式机械手