[发明专利]一种基于PRDL规则描述语言的C程序代码规范检查装置有效
申请号: | 201710191241.2 | 申请日: | 2017-03-28 |
公开(公告)号: | CN106970819B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 周旻;顾明;孙家广 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙) 11457 | 代理人: | 罗建书 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于PRDL规则描述语言的C语言代码规范检查装置及其检查方法,代码规范检查装置包括五个功能模块:规则解析器,程序解析器,规则检查引擎,缺陷报告器,用户交互接口。其中,规则解析器由语义解析器和查询优化器两个子功能模块组成,负责解析PRDL规则语义生成初始逻辑查询计划,再对该计划进行重写优化。程序解析器由代码行解析器、标记流解析器、语法树解析器三个子功能模块所组成,负责对源代码进行文本特征抽取和结构特征抽取,将抽取得到的三个层次(代码行、标记、语法树)的模型融合成C程序模型。本发明对用户选择或定义的PRDL规则进行语义解析,从而获取违背规则的缺陷代码相关信息,将检查结果报告给用户进行审核与评估。 | ||
搜索关键词: | 一种 基于 prdl 规则 描述 语言 程序代码 规范 检查 装置 | ||
【主权项】:
一种基于PRDL规则描述语言的C程序代码规范检查装置,其特征在于:所述代码规范检查装置包括五个功能模块:规则解析器,由下述两个子功能模块组成:语义解析器、查询优化器,首先语义解析器解析PRDL规则语义,生成初始逻辑查询计划,查询优化器再对该计划进行重写优化,生成优化逻辑查询计划,并将其送入规则检查引擎;程序解析器,由代码行解析器、标记(Token)流解析器、语法树解析器三个子功能模块所组成,负责对源代码进行文本特征抽取和结构特征抽取,将抽取得到的代码行、标记、语法树三个层次的模型融合成C程序模型送入规则检查引擎;规则检查引擎,负责接收规则解析器送入的优化逻辑查询计划和程序解析器送入的C程序模型,按照优化逻辑查询计划执行规则检查,将检查结果发送给缺陷报告器;缺陷报告器,负责根据规则检查引擎的检查结果以及相应规则的信息,将可能的代码缺陷整合并汇报给用户交互接口;用户交互接口,由分别完成各自功能的四个子功能模块:规则库管理、测试集管理、规则检查界面及结果显示模块所组成,负责根据用户需求定制检查的上下文,并将缺陷报告器整合完毕的结果向用户进行反馈。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710191241.2/,转载请声明来源钻瓜专利网。