一种基于继承和代理的代码检测规则框架建立及使用方法技术

技术编号:24573650 阅读:29 留言:0更新日期:2020-06-21 00:04
本发明专利技术公开了一种基于继承和代理的规则检测框架的建立及使用方法,建立方法包括创建一个框架;在框架内创建规则集模块、代理模块和通用规则模块;在所述规则集模块中存放多个标准规则集,对于多个标准规则集中的所有规则进行统一管理,具体为:对于在当前框架下无法实现的规则,通过代理到其它框架内实现,将相关代理信息存入代理模块;对于在当前框架下可以实现的规则,通过提取父类去除代码冗余,所述父类记为通用规则类并存入通用规则模块,使得在不同框架下实现检测逻辑的规则都在框架Ⅰ内实现调用,即实现调用指令的统一,且避免了不同标准规则集中相同代码重复执行的问题,消除代码冗余,提高代码的可维护性。

A framework of code detection rules based on Inheritance and agent

【技术实现步骤摘要】
一种基于继承和代理的代码检测规则框架建立及使用方法
本专利技术涉及静态代码扫描的程序分析
,属于编程语言领域,尤其涉及一种基于继承和代理的代码检测规则框架建立及使用方法。
技术介绍
由于通常需要对编译好的代码进行检查,特别是对于代码变更比较频繁的项目,因此,除了人工检查提交的代码之外,还需要有程序分析工具来监控代码的变更,从而扫描并检查代码中所存在的缺陷以及不符合规范的代码。基于静态代码扫描的程序分析工具(以下简称分析工具)中往往实现了代码检测的工作流程,同时提供了多种规则检测框架,比如基于抽象语法树遍历的框架、符号执行框架及词法分析框架等等,不同的规则检测框架位于不同类库下。不同的代码框架下规则的调用指令也不尽相同,而对于绝大部分标准来说,同一个规则集都涵盖了不同类型的规则,这就导致了在调用同一个规则集的代码时,需要用户通过不同的调用方式对不同代码框架下的规则进行调用,降低了分析工具的易用性,也破环了规则集的模块化,降低代码的可维护性。另外,现有的编程规范、编程指导原则等标准,其规则集往往涵盖了语法、语义、预处理和词法等本文档来自技高网...

【技术保护点】
1.一种基于继承和代理的规则检测框架的建立方法,其特征在于:包括:/n(11)创建一个框架;/n(12)在框架内创建规则集模块、代理模块和通用规则模块;/n(13)在所述规则集模块中存放多个标准规则集,对于多个标准规则集中的所有规则进行统一管理,具体为:/n(131)对于在当前框架下无法实现的规则,通过代理到其它框架内实现,将相关代理信息存入代理模块;/n(132)对于在当前框架下可以实现的规则,通过提取父类去除代码冗余,所述父类记为通用规则类并存入通用规则模块,同时被提取父类的规则改写成子类继承父类的形式。/n

【技术特征摘要】
1.一种基于继承和代理的规则检测框架的建立方法,其特征在于:包括:
(11)创建一个框架;
(12)在框架内创建规则集模块、代理模块和通用规则模块;
(13)在所述规则集模块中存放多个标准规则集,对于多个标准规则集中的所有规则进行统一管理,具体为:
(131)对于在当前框架下无法实现的规则,通过代理到其它框架内实现,将相关代理信息存入代理模块;
(132)对于在当前框架下可以实现的规则,通过提取父类去除代码冗余,所述父类记为通用规则类并存入通用规则模块,同时被提取父类的规则改写成子类继承父类的形式。


2.根据权利要求1所述的一种基于继承和代理的规则检测框架的建立方法,其特征在于:步骤(13)中还包括:对单个标准规则集创建一个规则基类,对于单个标准规则集内的规则提取通用属性,将所述通用属性存入规则基类,同时单个标准规则集内的规则改写成继承该规则基类的形式。


3.根据权利要求2所述的一种基于继承和代理的规则检测框架的建立方法,其特征在于:对于继承同一个通用规则类且继承不同规则基类的规则,在步骤(132)中提取的通用规则类中用多态或传参代码段表示不同规则基类。


4.根据权利要求1所述的一种基于继承和代理的规则检测框架的建立方法,其特征在于:所述步骤(131)中,代理模块包括委托规则、代理规则实现类和代理规则,具体包括:
(41)对于在当前框架下无法实现的规则,在可以实现的框架下创建代理规...

【专利技术属性】
技术研发人员:李兆鹏丁飞顾建平戴一飞
申请(专利权)人:安徽中科国创高可信软件有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1