CN107045477A - 一种可进行多维度检测的质量评估平台 - Google Patents
一种可进行多维度检测的质量评估平台 Download PDFInfo
- 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
Links
- 238000013441 quality evaluation Methods 0.000 title claims abstract description 28
- 238000001514 detection method Methods 0.000 title claims abstract description 25
- 238000012360 testing method Methods 0.000 claims abstract description 12
- 238000001303 quality assessment method Methods 0.000 claims abstract description 4
- 238000003754 machining Methods 0.000 claims abstract description 3
- 230000007547 defect Effects 0.000 claims description 12
- 206010013911 Dysgeusia Diseases 0.000 claims description 8
- 238000013461 design Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 238000013139 quantization Methods 0.000 abstract description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010068052 Mosaicism Diseases 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012372 quality testing Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test 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、重复代码、复杂分布代码、糟糕设计和不遵循代码标准进行代码质量评测。
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)
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)
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 | 北京理工大学 | 软件安全缺陷发现系统 |
-
2016
- 2016-12-30 CN CN201611257571.9A patent/CN107045477B/zh not_active Expired - Fee Related
Patent Citations (6)
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)
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)
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 | |
CN101473301A (zh) | 迭代静态和动态软件分析 | |
CN108804326B (zh) | 一种软件代码自动检测方法 | |
CN101261604A (zh) | 一种软件质量评价装置及软件质量评价的定量分析方法 | |
CN114022005A (zh) | 一种基于bim技术的工程造价管理系统及方法 | |
Walkinshaw et al. | Automated comparison of state-based software models in terms of their language and structure | |
CN108009080B (zh) | 一种代码扫描工具的评估方法及装置 | |
Fioravanti et al. | A method and tool for assessing object-oriented projects and metrics management | |
CN105760983A (zh) | 使用预定义工作流程收集现场测量数据 | |
CN102043720A (zh) | 利用sql语句自动生成测试数据的方法和装置 | |
CN111752833B (zh) | 一种软件质量体系准出方法、装置、服务器及存储介质 | |
CN112925524A (zh) | 一种检测驱动程序中不安全直接存储器访问的方法及装置 | |
CN103365772B (zh) | 软件测试自动评价装置以及方法 | |
CN112612716B (zh) | 差异行代码覆盖率增强标记方法、系统、设备及存储介质 | |
CN110287700A (zh) | 一种iOS应用安全分析方法及装置 | |
CN100428243C (zh) | 用于在模型上实现动作的方法和系统 | |
CN103838666A (zh) | 一种确定代码执行覆盖率的方法和装置 | |
CN111966578A (zh) | 一种安卓兼容性缺陷修复效果的自动化评估方法 | |
WO2023030282A1 (en) | Methods and devices for assessing generalizability of benchmarks | |
Sulaiman et al. | Classification Trends Taxonomy of Model-based Testing for Software Product Line: A Systematic Literature Review | |
Wang et al. | Invariant based fault localization by analyzing error propagation | |
Vetro et al. | Investigating automatic static analysis results to identify quality problems: An inductive study | |
Pathania et al. | Towards a Knowledge Base of Common Sustainability Weaknesses in Green Software Development | |
CN110866557B (zh) | 数据评价方法及装置、存储介质及电子设备 |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210817 |
|
CF01 | Termination of patent right due to non-payment of annual fee |