CN111367789A - 静态报告合并分析技术 - Google Patents

静态报告合并分析技术 Download PDF

Info

Publication number
CN111367789A
CN111367789A CN201911254882.3A CN201911254882A CN111367789A CN 111367789 A CN111367789 A CN 111367789A CN 201911254882 A CN201911254882 A CN 201911254882A CN 111367789 A CN111367789 A CN 111367789A
Authority
CN
China
Prior art keywords
rule
report
test tool
analyzing
rules
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.)
Withdrawn
Application number
CN201911254882.3A
Other languages
English (en)
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.)
Beijing Keyware Co ltd
Original Assignee
Beijing Keyware 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 Beijing Keyware Co ltd filed Critical Beijing Keyware Co ltd
Priority to CN201911254882.3A priority Critical patent/CN111367789A/zh
Publication of CN111367789A publication Critical patent/CN111367789A/zh
Withdrawn legal-status Critical Current

Links

Images

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/3604Software analysis for verifying properties of programs
    • 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)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种静态报告合并分析技术,对多测试工具报告的二次分析、除重、合并技术,包括:步骤1)首先对行业标准规则进行分类并重新编号;步骤2)其次需要对测试工具中的规则进行映射,如果不映射的话,无法对结果进行分析整理,因此只能有唯一的对映关系;步骤3)运行测试工具,对被测项目进行分析,分析完成之后,对每个测试工具的报告汇总在一起;步骤4)对汇总在一起的报告进行分析,依次分析读取每个测试工具的报告,对报告中的每条问题进行分析;步骤5)分析完成之后,通过页面进行展示,测试人员或开发人员可对每条问题进行查看,确认为不是问题的,可进行编辑删除,确认完成之后,重新保存到数据库,同时可生成测试报告。

Description

静态报告合并分析技术
技术领域
本发明涉及静态报告合并分析技术,是对多种静态测试工具报告的二次分析、除重、合并技术。
背景技术
随着软件越来越多地被应用各种系统中,软件可靠性显得越来越重要,对代码进行质量测试是保证软件质量很重要的一环。
从整体上度量软件质量,最早由Rubey和Hurtwick在1986年就软件的一些属性提出了度量方法,但尚未建立质量度量模型,所突出的度量方法也不完整。1976年,Boehm等人提出了定量的评价软件质量的概念,给出了60个质量度量公式,表明怎样用于评价软件质量,并且首次提出了软件质量度量的三层模型。1978年,Waters和McCall提出了从软件测试质量度要素(factor)、准则(criteria)到度量(metric)的3层次式的软件质量度量模型。McCall认为,软件的质量有11个要素构成即正确性、可靠性、效率、完整性、可使用性、可维修性、可测试性、灵活性、可移植性、重复使用性和连接性。
最初对软件进行代码检测一直都是以人工检测为主,然而随着软件规模的增大和复杂度的提高,利用人工进行检测这种方法已经逐渐淘汰。但是随着软件测试技术的发展现今各大公司都开发了各种各样的代码检测工具,这些工具从检测技术上分为两类:动态检测工具和静态检测工具。动态检测工具采用动态检测技术,发展相对比较成熟和完善,需要运行软件,通过调试器运行被检测的软件的某项功能,检查运行结果与预期结果的差异,来确定被测软件此功能是否存在安全缺陷,但是一次或多次的代码运行,并不能保证覆盖到程序代码的所有可能执行的路径,因此通过一次或多次的执行就不能发现程序代码存在的所有缺陷,而且程序的反复多次执行也为测试增加了更多的开销,尤其是一些较大程序,在执行中需要花费更多的时间和开销或者多人协作才能完成,大大提高了测试成本,导致测试效率低下。反观静态检测工具采用静态检测技术,不需要对程序源码进行实际运行,而是直接对软件源代码进行检测分析来发现软件代码中存在的缺陷,具有分析速度快,不需要人工干预,全代码覆盖且自动化程度高,无需依赖正在使用的执行环境等特性,最重要是能够在程序开发的早期过程中便检测出代码中存在的缺陷。所以静态检测工具在软件测试领域作为一种高效的、低成本的软件测试方式扮演着越来越重要的角色,且处于一个持续发展的崭新阶段。
经过几十年发展,代码质量测试的理论已趋于完善。国外的Coverity、 Klocwork、CheckMarx、C++Test、Testbed等成熟工具,且功能全面,但是这些工具都有各自的特殊长处,而其他方面则弱些,如Coverity、 Klocwork偏向于安全性、缺陷性方面,而C++Test、Testbed则偏向于规则类方面,测试报告分析不全面。因此需要一款功能完善、简单易用的工具,对测试报告进行分析,整合每个测试工具的报告,提高准确率。
发明内容
针对现在市面没有此类分析工具,本发明的目的在于提供一种针对市面上主流的静态分析工具结果进行分析、整理,解决各种测试工具分析片面、漏报误报等问题。
为了实现上述目的,本发明通过如下的技术方案来实现:对现有的规则进行分类、重新进行映射,然后对报告进行分析处理。
本发明的所述方法包括:
步骤1)首先对行业标准规则进行分类并重新进行编号,如Misra规则集合,Misra规则集按照不同年代有不同的提法,因此需要对规则集进行重新分类、整理。每个规则集设计一个表,其中每条规则有唯一的ID、描述信息、示例、针对语言、严重分类,此表是整个分析对比的基础;
步骤2)其次需要对测试工具中的规则进行映射,如果不映射的话,无法对结果进行分析整理,因此只能有唯一的对映关系。映射时,首先可以对每个测试工具的规则进行分析,把查找问题一样的规则设为同一ID,因为有些规则是引用其他规则的,这样可减少规则映射的数量,减少查找时间,ID设置完成之后,可以对ID进行映射;对于测试工具自定义的规则,则直接映射为工具自定义ID;
步骤3)运行测试工具,对被测项目进行分析,分析完成之后,对每个测试工具的报告汇总在一起;
步骤4)对汇总在一起的报告进行分析,依次分析读取每个测试工具的报告,对报告中的每条问题进行分析。查看每条问题对应规则的ID,根据ID进行映射,映射之后,把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录;按照同样的方法分析下一条问题。分析完成一个测试工具的报告之后分析下一个测试工具的报告,查看每条问题对应规则的ID,根据ID进行映射,映射之后,如果数据库中已经有同样文件、同样行号、同样ID的记录,则不进行记录,如果没有,则把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录。按照同样的方法分析每个测试工具的报告;
步骤5)分析完成之后,通过页面进行展示,测试人员或开发人员可对每条问题进行查看,确认为不是问题的,可进行编辑删除,确认完成之后,重新保存到数据库,同时可生成测试报告;
由此可见,本发明至少具备以下两处关键的发明点:1、规则映射流程;2、结果比对。
附图说明
以下将结合附图对本发明的实施方案进行描述,其中:
图1为本发明的规则映射流程图。
图2为本发明的结果比对流程图。
具体实施方式
下面将参照附图对本发明的源码文件匹配率分析方法的实施方案进行详细说明。
针对现在市面没有此类分析工具,本发明的目的在于提供一种针对市面上主流的静态分析工具结果进行分析、整理,解决各种测试工具分析片面、漏报误报等问题。
为了实现上述目的,本发明通过如下的技术方案来实现:对现有的规则进行分类、重新进行映射,然后对报告进行分析处理。
本发明的所述方法包括:
步骤1)首先对行业标准规则进行分类并重新进行编号,如Misra规则集合,Misra规则集按照不同年代有不同的提法,因此需要对规则集进行重新分类、整理。每个规则集设计一个表,其中每条规则有唯一的ID、描述信息、示例、针对语言、严重分类,此表是整个分析对比的基础;
步骤2)其次需要对测试工具中的规则进行映射,如果不映射的话,无法对结果进行分析整理,因此只能有唯一的对映关系。映射时,首先可以对每个测试工具的规则进行分析,把查找问题一样的规则设为同一ID,因为有些规则是引用其他规则的,这样可减少规则映射的数量,减少查找时间,ID设置完成之后,可以对ID进行映射;对于测试工具自定义的规则,则直接映射为工具自定义ID;
步骤3)运行测试工具,对被测项目进行分析,分析完成之后,对每个测试工具的报告汇总在一起;
步骤4)对汇总在一起的报告进行分析,依次分析读取每个测试工具的报告,对报告中的每条问题进行分析。查看每条问题对应规则的ID,根据ID进行映射,映射之后,把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录;按照同样的方法分析下一条问题。分析完成一个测试工具的报告之后分析下一个测试工具的报告,查看每条问题对应规则的ID,根据ID进行映射,映射之后,如果数据库中已经有同样文件、同样行号、同样ID的记录,则不进行记录,如果没有,则把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录。按照同样的方法分析每个测试工具的报告;
步骤5)分析完成之后,通过页面进行展示,测试人员或开发人员可对每条问题进行查看,确认为不是问题的,可进行编辑删除,确认完成之后,重新保存到数据库,同时可生成测试报告。

Claims (1)

1.一种静态报告合并分析技术,通过对多种静态测试工具的结果进行分析比对,实现结果的去重、比对等,所述方法包括:
步骤1)首先对行业标准规则进行分类并重新进行编号,如Misra规则集合,Misra规则集按照不同年代有不同的提法,因此需要对规则集进行重新分类、整理。每个规则集设计一个表,其中每条规则有唯一的ID、描述信息、示例、针对语言、严重分类,此表是整个分析对比的基础;
步骤2)其次需要对测试工具中的规则进行映射,如果不映射的话,无法对结果进行分析整理,因此只能有唯一的对映关系。映射时,首先可以对每个测试工具的规则进行分析,把查找问题一样的规则设为同一ID,因为有些规则是引用其他规则的,这样可减少规则映射的数量,减少查找时间,ID设置完成之后,可以对ID进行映射;对于测试工具自定义的规则,则直接映射为工具自定义ID;
步骤3)运行测试工具,对被测项目进行分析,分析完成之后,对每个测试工具的报告汇总在一起;
步骤4)对汇总在一起的报告进行分析,依次分析读取每个测试工具的报告,对报告中的每条问题进行分析。查看每条问题对应规则的ID,根据ID进行映射,映射之后,把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录;按照同样的方法分析下一条问题。分析完成一个测试工具的报告之后分析下一个测试工具的报告,查看每条问题对应规则的ID,根据ID进行映射,映射之后,如果数据库中已经有同样文件、同样行号、同样ID的记录,则不进行记录,如果没有,则把对应的问题描述、行号、规则ID、文件信息、测试工具名称保存为一条记录。按照同样的方法分析每个测试工具的报告;
步骤5)分析完成之后,通过页面进行展示,测试人员或开发人员可对每条问题进行查看,确认为不是问题的,可进行编辑删除,确认完成之后,重新保存到数据库,同时可生成测试报告。
CN201911254882.3A 2019-12-09 2019-12-09 静态报告合并分析技术 Withdrawn CN111367789A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911254882.3A CN111367789A (zh) 2019-12-09 2019-12-09 静态报告合并分析技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911254882.3A CN111367789A (zh) 2019-12-09 2019-12-09 静态报告合并分析技术

Publications (1)

Publication Number Publication Date
CN111367789A true CN111367789A (zh) 2020-07-03

Family

ID=71208004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911254882.3A Withdrawn CN111367789A (zh) 2019-12-09 2019-12-09 静态报告合并分析技术

Country Status (1)

Country Link
CN (1) CN111367789A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742214A (zh) * 2021-07-13 2021-12-03 北京关键科技股份有限公司 一种基于静态报告的合并分析方法、系统和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742214A (zh) * 2021-07-13 2021-12-03 北京关键科技股份有限公司 一种基于静态报告的合并分析方法、系统和介质

Similar Documents

Publication Publication Date Title
US7958400B2 (en) Detecting unexpected impact of software changes using coverage analysis
CN108804326B (zh) 一种软件代码自动检测方法
Singh et al. A systematic review on fault based mutation testing techniques and tools for Aspect-J programs
CN103870384B (zh) 测试用例推定方法及系统
WO2014180107A1 (zh) 一种基于测试的静态分析误报消除方法
CN109740457B (zh) 一种人脸识别算法评测方法
CN110059010A (zh) 基于动态符号执行与模糊测试的缓冲区溢出检测方法
CN110727603A (zh) 一种基于ui自动化测试定位元素的改进方法
US7474979B1 (en) Integrated circuit device test system and method
CN115328784A (zh) 一种面向敏捷接口的自动化测试方法及系统
CN111367789A (zh) 静态报告合并分析技术
CN116954624B (zh) 基于软件开发包的编译方法、软件开发系统及服务器
CN111611154A (zh) 一种回归测试的方法、装置和设备
CN108763092B (zh) 一种基于交叉验证的代码缺陷检测方法及装置
CN112612765A (zh) 一种基于漂移检测的流程变体差异分析方法与系统
JP2016091138A (ja) ソースコード検証システム
CN113641573B (zh) 基于修订日志的程序分析软件自动化测试方法及系统
CN115934548A (zh) 一种基于信息检索的语句级软件缺陷定位方法及系统
CN115587333A (zh) 一种基于多分类模型的失效分析故障点预测方法及系统
CN115310531A (zh) 应用于一体式间隔设备综合测试模块的测试结果粗检系统和方法
CN115373984A (zh) 代码覆盖率确定方法及装置
CN113742214A (zh) 一种基于静态报告的合并分析方法、系统和介质
CN114564391A (zh) 确定测试用例的方法、装置、存储介质及电子设备
JP2008076121A (ja) ディレイ不良解析方法およびその装置
CN114565883A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200703

WW01 Invention patent application withdrawn after publication