[发明专利]一种基于PRDL规则描述语言的C程序代码规范检查装置有效

专利信息
申请号: 201710191241.2 申请日: 2017-03-28
公开(公告)号: CN106970819B 公开(公告)日: 2020-07-10
发明(设计)人: 周旻;顾明;孙家广 申请(专利权)人: 清华大学
主分类号: G06F8/41 分类号: G06F8/41;G06F11/36
代理公司: 北京律谱知识产权代理事务所(普通合伙) 11457 代理人: 罗建书
地址: 10008*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 prdl 规则 描述 语言 程序代码 规范 检查 装置
【权利要求书】:

1.一种基于PRDL规则描述语言的C程序代码规范检查装置,其特征在于:所述代码规范检查装置包括五个功能模块:

规则解析器,由下述两个子功能模块组成:语义解析器、查询优化器,首先语义解析器解析PRDL规则语义,生成初始逻辑查询计划,查询优化器再对该计划进行重写优化,生成优化逻辑查询计划,并将其送入规则检查引擎;

其中:重写优化的策略包括以下三种:

约束位置重置策略,查询计划中存在一个查询的搜索空间包含有另一个查询的搜索空间,但两个查询独立从全局空间进行搜索的情况,对应的优化策略是重置查询的执行顺序,让两者嵌套执行,并使前者查询优先于后者查询执行,以保证后者查询在更小的搜索空间中进行搜索,更快得到查询结果;

重用子查询策略,查询计划中存在一个查询可能是多个查询的子查询,即多个查询需要使用该查询的查询结果的情况,对应的优化策略是将前者查询的查询结果提前计算并缓存,等其他查询需要用到前者查询的查询结果时,将缓存的查询结果取出使用即可,避免重复查询;

最优查询路径起点策略,查询计划本身可以转化为查询树,选择不同的查询作为查询起点,会产生不同层次的查询树,使得查询执行的时间不同,为了提高执行效率,根据统计,选择出现频率最小的节点为查询起点,对查询计划进行变形,即可提高查询效率;

程序解析器,由代码行解析器、标记(Token)流解析器、语法树解析器三个子功能模块所组成,负责对源代码进行文本特征抽取和结构特征抽取,将抽取得到的代码行、标记、语法树三个层次的模型融合成C程序模型送入规则检查引擎;

规则检查引擎,负责接收规则解析器送入的优化逻辑查询计划和程序解析器送入的C程序模型,按照优化逻辑查询计划执行规则检查,将检查结果发送给缺陷报告器;

缺陷报告器,负责根据规则检查引擎的检查结果以及相应规则的信息,将可能的代码缺陷整合并汇报给用户交互接口;

用户交互接口,由分别完成各自功能的四个子功能模块:规则库管理、测试集管理、规则检查界面及结果显示模块所组成,负责根据用户需求定制检查的上下文,并将缺陷报告器整合完毕的结果向用户进行反馈。

2.如权利要求1所述的基于PRDL规则描述语言的C程序代码规范检查装置,其特征在于:所述规则解析器中两个子模块的功能是:

语义解析器对PRDL规则文本进行解析,产生查询上下文和初始逻辑查询计划,并向查询优化器提供接口,以便查询优化器读取这些信息;

查询优化器对初始逻辑查询计划应用重写优化策略,产生优化逻辑查询计划,并向规则检查引擎提供接口,供其读取信息。

3.如权利要求1所述的基于PRDL规则描述语言的C程序代码规范检查装置,其特征在于:所述程序解析器中三个子模块的功能是:

代码行解析器以源代码作为输入,为每一行代码生成一个数据封装对象,提供程序行层次的文本信息;

标记流解析器以源代码作为输入,对代码中的每个标记进行封装与连接,提供单词层次的文本信息;

语法树解析器,提供程序的结构信息,包括程序的语法组成元素以及它们之间的关系;

三个子模块之间互相提供接口,以实现对象间相互转化,三个子模块都向规则检查引擎提供接口,供其读取程序行、单词层次的文本信息以及结构信息。

4.如权利要求1所述的基于PRDL规则描述语言的C程序代码规范检查装置,其特征在于:所述PRDL规则描述语言的基本结构包括内部变量定义、内部函数定义、外部函数定义、规则主体;规则有两个来源,一是内嵌的规则库,现包括GJB 5369-2005航天型号软件C语言安全子集中的138条规则和MSIRA-C汽车制造业嵌入式C编码标准中的117条规则;二是用户自定义规则,允许用户添加按照PRDL规则描述语言语法写成的规则。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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