CN107045477A - 一种可进行多维度检测的质量评估平台 - Google Patents

一种可进行多维度检测的质量评估平台 Download PDF

Info

Publication number
CN107045477A
CN107045477A CN201611257571.9A CN201611257571A CN107045477A CN 107045477 A CN107045477 A CN 107045477A CN 201611257571 A CN201611257571 A CN 201611257571A CN 107045477 A CN107045477 A CN 107045477A
Authority
CN
China
Prior art keywords
code
quality evaluation
analysis
various dimensions
evaluation platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611257571.9A
Other languages
English (en)
Other versions
CN107045477B (zh
Inventor
王鲲
王勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Rich Financial Information Service Co Ltd
Original Assignee
Shanghai Rich Financial Information Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Rich Financial Information Service Co Ltd filed Critical Shanghai Rich Financial Information Service Co Ltd
Priority to CN201611257571.9A priority Critical patent/CN107045477B/zh
Publication of CN107045477A publication Critical patent/CN107045477A/zh
Application granted granted Critical
Publication of CN107045477B publication Critical patent/CN107045477B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种可进行多维度检测的质量评估平台
技术领域
本发明涉及代码检测,特别涉及一种可进行多维度检测的质量评估平台。
背景技术
目前市场有众多类别的代码质量检测工具,主要是通过对静态代码进行质量检测和管理,无需运行被测代码,通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等。静态代码分析工具能够帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性、节省开发成本和测试成本。
目前市场上有一款广泛应用的代码质量检测工具为Findbugs。FindBugs 是一个静态分析工具,它检查类或者 JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs不注重样式或者格式,它只寻找真正的缺陷或者潜在的性能问题。它主要包括3种使用方式: findbugs+jenkins CI集成运行方式、findbugs UI运行方式和IDE增加findbugs plugin方式。
发明内容
本发明的目的是提供一种可进行多维度检测的质量评估平台,能够整合第三方插件或利用自身分析工具,通过对几个维度进行代码质量检测分析,输出量化结果。
为了实现以上目的,本发明是通过以下技术方案实现的:
一个可进行多维度检测的质量评估平台,其特点是,包含:
构建工具,用于构建项目并触发分析请求;
分析模块,用于读入源代码,并对所述的源代码依靠不同的代码规范进行代码质量评测;
数据库,用于存入代码质量评测结果;
图像生成模块,用于加工代码质量评测结果数据,并以图像界面形式呈现给用户。
所述的分析模块包含:分析工具和通过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、重复代码、复杂分布代码、糟糕设计、不遵循代码标准几个维度进行代码质量检测分析。最后对结果进行再加工处理,通过量化的方式度量代码质量的变化。
综上所述,本发明一种可进行多维度检测的质量评估平台,能够整合第三方插件或利用自身分析工具通过对几个维度进行代码质量检测分析,输出量化结果。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (7)

1.一个可进行多维度检测的质量评估平台,其特征在于,包含:
构建工具,用于构建项目并触发分析请求;
分析模块,用于读入源代码,并对所述的源代码依靠不同的代码规范进行代码质量评测;
数据库,用于存入代码质量评测结果;
图像生成模块,用于加工代码质量评测结果数据,并以图像界面形式呈现给用户。
2.如权利要求1所述的可进行多维度检测的质量评估平台,其特征在于,所述的分析模块包含:分析工具和通过API接口接入的第三方分析插件。
3.如权利要求2所述的可进行多维度检测的质量评估平台,其特征在于,所述的分析工具用于发现源代码存在的缺陷和坏味道,其包含:
扫描器,用于扫描源代码;
语言定义单元,用于定义源代码对应的编程语言;
规则定义单元,用于定义规则对应的语言、规则的标签、规则容器、触犯规则的严重程度和规则的状态信息;
Profile用户配置文件定义单元,用于定义分析工具的配置信息,并包括对语言和规则集的关联。
4.如权利要求2所述的可进行多维度检测的质量评估平台,其特征在于,所述的第三方分析插件,用于发现源代码存在的缺陷和坏味道,其包含:PMD工具、CheckStyle工具和Findbugs工具的一种或几种。
5.如权利要求1所述的可进行多维度检测的质量评估平台,其特征在于,所述的图像生成模块具体用于根据数据库存入代码质量评测结果生成对应的代码质量图像。
6.如权利要求1所述的可进行多维度检测的质量评估平台,其特征在于,所述的数据库还存有项目基本信息、测试指标、测试标准集和分析快照。
7.如权利要求1所述的可进行多维度检测的质量评估平台,其特征在于,所述的分析模块对潜在bug、重复代码、复杂分布代码、糟糕设计和不遵循代码标准进行代码质量评测。
CN201611257571.9A 2016-12-30 2016-12-30 一种可进行多维度检测的质量评估平台 Expired - Fee Related CN107045477B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611257571.9A CN107045477B (zh) 2016-12-30 2016-12-30 一种可进行多维度检测的质量评估平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611257571.9A CN107045477B (zh) 2016-12-30 2016-12-30 一种可进行多维度检测的质量评估平台

Publications (2)

Publication Number Publication Date
CN107045477A true CN107045477A (zh) 2017-08-15
CN107045477B CN107045477B (zh) 2021-08-17

Family

ID=59543893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611257571.9A Expired - Fee Related CN107045477B (zh) 2016-12-30 2016-12-30 一种可进行多维度检测的质量评估平台

Country Status (1)

Country Link
CN (1) CN107045477B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358564A (zh) * 2018-09-19 2019-02-19 珠海格力电器股份有限公司 一种检测组态软件的方法及装置、计算机可读存储介质
CN109947831A (zh) * 2017-10-30 2019-06-28 宜兴八达流体技术有限公司 一种噪声和污染物排放指标的生成和可视化软件
CN110704297A (zh) * 2019-08-15 2020-01-17 平安普惠企业管理有限公司 代码评审方法、装置、计算机设备及存储介质
WO2020082516A1 (zh) * 2018-10-22 2020-04-30 网宿科技股份有限公司 一种运维数据的处理方法、系统及装置
CN111837109A (zh) * 2019-11-22 2020-10-27 深圳海付移通科技有限公司 一种代码质量和缺陷的分析方法、服务器及存储介质
CN113542796A (zh) * 2020-04-22 2021-10-22 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
US20080148245A1 (en) * 2006-12-18 2008-06-19 Gutz Steven J E Simultaneous static analysis on disparate resource types
CN101706749A (zh) * 2009-11-18 2010-05-12 电子科技大学 基于软件安全缺陷检测的综合处理方法及其功能模块构架
CN103425572A (zh) * 2012-05-24 2013-12-04 腾讯科技(深圳)有限公司 代码分析方法及代码分析系统
CN103713998A (zh) * 2013-11-07 2014-04-09 北京安码科技有限公司 一种可扩展的在线静态代码缺陷分析方法
CN105068925A (zh) * 2015-07-29 2015-11-18 北京理工大学 软件安全缺陷发现系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080148245A1 (en) * 2006-12-18 2008-06-19 Gutz Steven J E Simultaneous static analysis on disparate resource types
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN101706749A (zh) * 2009-11-18 2010-05-12 电子科技大学 基于软件安全缺陷检测的综合处理方法及其功能模块构架
CN103425572A (zh) * 2012-05-24 2013-12-04 腾讯科技(深圳)有限公司 代码分析方法及代码分析系统
CN103713998A (zh) * 2013-11-07 2014-04-09 北京安码科技有限公司 一种可扩展的在线静态代码缺陷分析方法
CN105068925A (zh) * 2015-07-29 2015-11-18 北京理工大学 软件安全缺陷发现系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAN JIN, ZHAO RONGCAI, SHAN ZHEN, LIU FUDONG, ZHAO: "《2017 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery》", 11 January 2018 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947831A (zh) * 2017-10-30 2019-06-28 宜兴八达流体技术有限公司 一种噪声和污染物排放指标的生成和可视化软件
CN109358564A (zh) * 2018-09-19 2019-02-19 珠海格力电器股份有限公司 一种检测组态软件的方法及装置、计算机可读存储介质
CN109358564B (zh) * 2018-09-19 2022-05-20 珠海格力电器股份有限公司 一种检测组态软件的方法及装置、计算机可读存储介质
WO2020082516A1 (zh) * 2018-10-22 2020-04-30 网宿科技股份有限公司 一种运维数据的处理方法、系统及装置
CN110704297A (zh) * 2019-08-15 2020-01-17 平安普惠企业管理有限公司 代码评审方法、装置、计算机设备及存储介质
CN110704297B (zh) * 2019-08-15 2024-02-06 天翼安全科技有限公司 代码评审方法、装置、计算机设备及存储介质
CN111837109A (zh) * 2019-11-22 2020-10-27 深圳海付移通科技有限公司 一种代码质量和缺陷的分析方法、服务器及存储介质
WO2021097824A1 (zh) * 2019-11-22 2021-05-27 深圳海付移通科技有限公司 一种代码质量和缺陷的分析方法、服务器及存储介质
CN113542796A (zh) * 2020-04-22 2021-10-22 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质
CN113542796B (zh) * 2020-04-22 2023-08-08 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN107045477B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN107045477A (zh) 一种可进行多维度检测的质量评估平台
AU2010350247B2 (en) Code inspection executing system for performing a code inspection of ABAP source codes
US9027002B2 (en) Method of converting source code and source code conversion program
CN101473301A (zh) 迭代静态和动态软件分析
CN108804326B (zh) 一种软件代码自动检测方法
CN101261604A (zh) 一种软件质量评价装置及软件质量评价的定量分析方法
CN114022005A (zh) 一种基于bim技术的工程造价管理系统及方法
CN108009080B (zh) 一种代码扫描工具的评估方法及装置
Walkinshaw et al. Automated comparison of state-based software models in terms of their language and structure
CN111752833B (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
CN115659335A (zh) 基于混合模糊测试的区块链智能合约漏洞检测方法及装置
CN112925524A (zh) 一种检测驱动程序中不安全直接存储器访问的方法及装置
CN103365772B (zh) 软件测试自动评价装置以及方法
CN102043720A (zh) 利用sql语句自动生成测试数据的方法和装置
CN112612716B (zh) 差异行代码覆盖率增强标记方法、系统、设备及存储介质
CN105930267B (zh) 一种基于数据库字典的存储过程静态检测方法及系统
CN104794240A (zh) 面向地理空间数据库属性值约束检查的表达式解析方法
CN103838666A (zh) 一种确定代码执行覆盖率的方法和装置
CN1983280A (zh) 用于在模型上实现动作的方法和系统
CN116136950B (zh) 芯片验证方法、装置、系统、电子设备及存储介质
CN111966578A (zh) 一种安卓兼容性缺陷修复效果的自动化评估方法
US20230070393A1 (en) Methods and devices for assessing generalizability of benchmarks
Wang et al. Invariant based fault localization by analyzing error propagation
Kaur et al. Non-functional requirements research: survey
Vetro et al. Investigating automatic static analysis results to identify quality problems: An inductive study

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 200120 room e-291, 3rd floor, No. 227 Rushan Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Shanghai Fucong Technology Co.,Ltd.

Address before: 200120 room e-291, 3rd floor, No. 227 Rushan Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant before: SHANGHAI FUCONG FINANCE INFORMATION SERVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210817