一种可进行多维度检测的质量评估平台的制作方法

文档序号:11555718阅读:873来源:国知局
一种可进行多维度检测的质量评估平台的制造方法与工艺

本发明涉及代码检测,特别涉及一种可进行多维度检测的质量评估平台。



背景技术:

目前市场有众多类别的代码质量检测工具,主要是通过对静态代码进行质量检测和管理,无需运行被测代码,通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等。静态代码分析工具能够帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性、节省开发成本和测试成本。

目前市场上有一款广泛应用的代码质量检测工具为findbugs。findbugs是一个静态分析工具,它检查类或者jar文件,将字节码与一组缺陷模式进行对比以发现可能的问题。findbugs不注重样式或者格式,它只寻找真正的缺陷或者潜在的性能问题。它主要包括3种使用方式:findbugs+jenkinsci集成运行方式、findbugsui运行方式和ide增加findbugsplugin方式。



技术实现要素:

本发明的目的是提供一种可进行多维度检测的质量评估平台,能够整合第三方插件或利用自身分析工具,通过对几个维度进行代码质量检测分析,输出量化结果。

为了实现以上目的,本发明是通过以下技术方案实现的:

一个可进行多维度检测的质量评估平台,其特点是,包含:

构建工具,用于构建项目并触发分析请求;

分析模块,用于读入源代码,并对所述的源代码依靠不同的代码规范进行代码质量评测;

数据库,用于存入代码质量评测结果;

图像生成模块,用于加工代码质量评测结果数据,并以图像界面形式呈现给用户。

所述的分析模块包含:分析工具和通过api接口接入的第三方分析插件。

所述的分析工具用于发现源代码存在的缺陷和坏味道,其包含:

扫描器,用于扫描源代码;

语言定义单元,用于定义源代码对应的编程语言;

规则定义单元,用于定义规则对应的语言、规则的标签、规则容器、触犯规则的严重程度和规则的状态信息;

profile用户配置文件定义单元,用于定义分析工具的配置信息,并包括对语言和规则集的关联。

所述的第三方分析插件,用于发现源代码存在的缺陷和坏味道,其包含:pmd工具、checkstyle工具和findbugs工具的一种或几种。

所述的图像生成模块具体用于根据数据库存入代码质量评测结果生成对应的代码质量图像。

所述的数据库还存有项目基本信息、测试指标、测试标准集和分析快照。

所述的分析模块对潜在bug、重复代码、复杂分布代码、糟糕设计和不遵循代码标准进行代码质量评测。

本发明与现有技术相比,具有以下优点:

1、增加了代码质量、包与包,类与类之间的依赖情况、代码耦合情况的检测;并关注文件的复杂度、代码的重复度等代码整体的健康情况。

2、对传统的代码静态检测如pmd、findbugs等工具进行整合。

3、能够发现除静态代码外其他潜在代码健康性问题。

4、能够对java以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。设置灵活的插件支持对编程语言的拓展;

5、能够对分析结果进行再加工处理,通过量化的方式度量代码质量的变化。

附图说明

图1为本发明一种可进行多维度检测的质量评估平台的模块图;

图2为本发明的第三方分析插件的集成模块图。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图1所示,一个可进行多维度检测的质量评估平台,包含:构建工具1,用于构建项目并触发分析请求;分析模块2,用于读入源代码,并对所述的源代码依靠不同的代码规范进行代码质量评测;数据库3,用于存入代码质量评测结果;图像生成模块4,用于根据数据库存入代码质量评测结果生成对应的代码质量图像,以量化的方式来衡量代码质量,以图像界面形式呈现给用户,从而方便地对不同规模和种类的工程进行相应的代码质量管理。

上述的构建工具包含:ant或maven或gradle。

分析模块2将质量评测结果生成xml格式的报告,并读取到数据库中。

所述的分析模块2,用于发现源代码存在的缺陷和坏味道,其包含:分析工具21和通过api接口接入的第三方分析插件22,分析模块对潜在bug、重复代码、复杂分布代码、糟糕设计和不遵循代码标准进行代码质量评测,该分析工具21可以为平台自有的。

上述的分析工具包含:扫描器,用于扫描源代码;语言定义单元,用于定义源代码对应的编程语言;规则定义单元,用于定义规则对应的语言、规则的标签(如缺陷、坏味道、重复等)、规则容器、触犯规则的严重程度(紧急、严重、较高级、较低级、低级);用户配置文件(profile)定义单元,用于定义分析工具的配置信息,包括对语言和规则集的关联。

如图2所示,上述的第三方分析插件22,用于发现源代码存在的缺陷和坏味道,其包含:pmd工具、checkstyle工具和findbugs工具的一种或几种,及其他符合接口要求的插件,每个第三方分析插件也同样包含:扫描器,用于扫描源代码;语言定义单元,用于定义源代码对应的编程语言;规则定义单元,用于定义规则对应的语言、规则的标签(如缺陷、坏味道、重复等)、规则容器、触犯规则的严重程度(紧急、严重、较高级、较低级、低级);用户配置文件(profile)定义单元,用于定义第三方分析插件的配置信息,包括对语言和规则集的关联。

所述的数据库还存有项目基本信息、测试指标、测试标准集和分析快照,在分析过程中根据设置好的工作流执行分析任务,并把分析数据存在数据库或缓存中。当分析结果大于某个指定阈值后,即认为需要报警。通过分析模块分别对潜在bug、重复代码、复杂分布代码、糟糕设计、不遵循代码标准几个维度进行代码质量检测分析。最后对结果进行再加工处理,通过量化的方式度量代码质量的变化。

综上所述,本发明一种可进行多维度检测的质量评估平台,能够整合第三方插件或利用自身分析工具通过对几个维度进行代码质量检测分析,输出量化结果。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。



技术特征:

技术总结
本发明公开了一种可进行多维度检测的质量评估平台,包含:构建工具,用于构建项目并触发分析请求;分析模块,用于读入源代码,并对所述的源代码依靠不同的代码规范进行代码质量评测;数据库,用于存入代码质量评测结果;图像生成模块,用于加工代码质量评测结果数据,并以图像界面形式呈现给用户。本发明能够整合第三方插件或利用自身分析工具,通过对几个维度进行代码质量检测分析,输出量化结果。

技术研发人员:王鲲;王勋
受保护的技术使用者:上海富聪金融信息服务有限公司
技术研发日:2016.12.30
技术公布日:2017.08.15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1