QAC/QAC++静态软件代码测试分析-试用工具_qac的 生成的报告如何解读-程序员宅基地

原PRQA静态测试软件产品线(包括QAC、 QAC++、QA-Verify等),统一更名为“Helix QAC”,PRQA的代码静态分析工具能够帮助企业开发团队提高代码的质量和安全,缩短软件开发所需的时间,HelixQAC是作为其主打产品目前已广泛应用于汽车、航空航天、电子商务、医疗器械、生产和通信等领域。

HelixQAC:

HelixQAC是静态代码分析工具,依据C和C++编码规则自动扫描代码对规则的违背。开发团队在开发过程的早期就可以用它来检测缺陷,因为此时修改代码是最方便也最经济的。Helix QAC因此自动化强制实施代码编程标准,比如MISRA,保证代码的合规性。
在这里插入图片描述

功能特性

◆ 遵循代码标准
遵循编码和工业标准。Helix QAC自动审查代码,确保它们符合用户选择的编码标准。合规性报告可视化地提醒用户哪些代码需要多加留意。Helix QAC支持多种C和C++编码标准,提供相应的合规性模块,也支持标准的客户化定制。
◆ 检查更多缺陷
  在开发早期检查编译器没有发现的关键缺陷。Helix QAC为用户的软件建立了精确的行为模型,跟踪代码中的变量值,如同运行时一样。因此这种分析最大化地覆盖了代码,使误报和漏报最低。它甚至能识别极端复杂的代码引起的问题。
◆ 提高代码质量
  提供任何应用程序的整体质量和安全。Helix QAC识别必须修改的缺陷,提供详细的指导帮助开发人员修改问题。这是不需要运行程序的。开发人员既然获得了即时的上下文反馈,他们将因此从错误中获得学习,下一次编写新的代码(或者评审代码)时,能力将得到提升。

在这里插入图片描述

◆ 协同代码审查
Helix QAC的仪表盘提供了协同代码审查的能力,用户能够在Helix QAC检查出的诊断上添加注解,为其他用户分配需要他们采取的动作。
◆ 适应数百万行代码
  让静态分析适应你的环境。Helix QAC有能力处理数百万行代码,保证你的产品无论代码由多么复杂它都是安全的。
◆ 重用代码
  重用质量信得过的代码。Helix QAC检测代码移植性问题,所以你能重用让你放心的代码,帮助你的快速开发。
◆ 加速开发过程
  降低瓶颈加速开发。Helix QAC能集成在构建系统和持续集成环境中,尽早且频繁地发现缺陷,从而避免了在开发后期往往需要花费甚巨的错误。它也加速了当前代码的评审,你甚至可以只让它检查新的代码变化,快速提供反馈。
◆ 监视整体代码质量
  使用Helix QAC的仪表盘监视代码质量。你能够用它监视代码质量度量,获得质量趋势。仪表盘还能帮你为利益相关方创建属于他们的报告。

在这里插入图片描述

编程标准合规性

● MISRA
① MISRA编码标准检查安全关键系统的潜在问题。MSIRA C和MISRA C++合规性模块指出违背这些规则的代码段。
② MISRA C模块强制实施MISRA C:1998、MISRA C:2004和MISRA C:2012。
③ MISRA C++模块强制实施MISRA C++:2008。
④ 在MISRA规则检查方面,Helix QAC的准确性远高于其他工具。它对规则的违背划分出严重度的优先级,你可以据此修改最重要的问题。
MISRA CMISRA C++
● AUTOSAR
① 自动化检查AUTOSAR C++编码标准的合规性。
② AUTOSAR编码规则识别C++14的安全问题。
③ AUTOSAR C++模块指出违背这些规则的代码段。
AUTOSAR ● CERT
① 自动检查代码对CERT C和C++标准的合规性。
② CERT编码规则识别代码中的安全漏洞。
③ CERT C和C++合规性模块指出违背这些规则的代码段,帮助你消除未定义的行为,应用安全编码的最佳实践
④ Helix QAC通过详细的说明和示例,帮助你优先解决最严重的问题。所以你将能开发安全可靠的软件系统,且能够追踪和报告CERT合规性。

调用树CERT C++ ● CWE
① 自动检查代码是否属于CWE安全脆弱性列表里的行为。
② CWE识别C和C++中常见的安全脆弱性。
③ CWE合规性模块指出代码是否有这些行为,有助于用户优先解决关键错误,提升代码整体质量。
热点图CWE C++
● HIC++
① 自动检查代码是否符合High Integrity C++编码标准,它是原PRQA代码专家开发的标准。
② HIC++标准确保C++11和C++14的高质量代码。
HIC++ ● JSF AV C++
① 自动检查代码是否符合Joint Striker Fight Air Vehicle(JSF AV)C++编码标准。
② JSF AV C++用于安全关键的开发。Helix QAC提供了对该标准规则的理解最为深刻的诊断信息。

JSF AV C++
● 客户化规则
① 自动检查代码是否符合定制规则。
② 你能够为你自己的C/C++编码规则定制一个合规性模块,Helix QAC自动实施这些规则。

在这里插入图片描述

静态分析优越性

\ 编码问题的早期检测
  在新的代码和以前的代码中发现编码问题。比较其他静态代码分析器,Helix QAC发现更多的编程错误,包括C/C++的未定义或未指定的行为,且适用于数百万行的大型项目。
\ 风险优先级
  以风险的严重程度划分编码问题的优先级。Helix QAC使用过滤器、抑制和基线的手段帮助你关注最为关键的代码缺陷,提供精确的诊断和可操作的结果。用户因此能够首先修改最重要的问题。
\ 消除安全漏洞
  在源代码上消除安全漏洞。编程错误往往导致犯罪分子利用软件中的漏洞窃取信息,但Helix QAC使你看到并控制编程错误,因此能在源代码级别上就消除了漏洞。
\ 协同代码审查
  协同代码审查,包括人工的和自动的静态分析。你能够为团队成员分配任务。
\ 监控代码质量
  监控代码整体质量。Helix QAC确保团队所有成员使用的是一致的编码规则,你能控制规则的偏离和诊断的抑制,也能测量、跟踪和记录质量度量及其趋势。
\ 集成其它工具集
  将静态代码分析集成到其它开发工具。Helix QAC支持大多数编译器。你可以把它集成到许多开发工具中,包括集成开发环境(比如Microsoft Visual Studio)、版本控制系统(比如Helix Core)、以及持续集成构建服务器(比如Jenkins)。

工业标准认证

Helix QAC经过了独立的标准认证,Helix QAC是由Programming Research开发的,后者现在是Perforce的组成之一。

SGS-TÜV Saar认证
Helix QAC经过SGS-TÜV Saar符合如下功能安全标准:
· ISO 26262 (automotive) up to ASIL level D.
· IEC 61508 (general industrial) up to SIL 4.
· EN 50128 (railways) up to SW-SIL 4.
· IEC 62304 (medical devices) up to Software Safety Class C.
· IEC 60880 (nuclear power).

ISO 9001 | TickIT认证
Helix QAC也通过了ISO 9001 | TickIT plus Foundation Level认证。
ISO 9001是广被采用的标准,确保企业组织通过持续改进来满足和超过客户的需求和满意度。

在这里插入图片描述

典型应用

◆ 协同代码审查
协同代码审查,包括人工的和自动的静态分析。你能够为团队成员分配任务。
◆ 监控代码质量
监控代码整体质量。Helix QAC确保团队所有成员试用的是一致的编码规则,你能控制规则的偏离和诊断的抑制,也能测量、跟踪和记录质量度量及其趋势。
◆ 集成其它工具集
将静态代码分析集成到其他开发工具。Helix QAC支持大多数编译器。你可以把它集成到许多开发工具中,包括集成开发环境(比如Microsoft Visual Studio)、版本控制系统(比如Helix Core)、移机持续集成构建服务器(比如Jenkins)。
◆ 编辑问题的早期检测
在新的代码和以前的代码中发现编码问题,比较其他静态代码分析器,Helix QAC发现更多的编辑错误,包括C/C++的未定义或未指定的行为,且适用于数百万行的大型项目。
◆ 风险优先级
以风险的严重程度划分编码问题的优先级。Helix QAC使用过滤器、抑制和基线的手段帮助你关注最为关键的代码缺陷,提供精确的诊断和卡操作的结果。用户因此首先修改最重要的问题。
◆ 消除安全漏洞
在源代码上消除安全漏洞。变成错误往往导致犯罪分子利用软件中的漏洞窃取信息,但Helix QAC使你看到并控制变成错误,因此能在源代码级别上就消除了漏洞。

更多相关信息请访问QA中文网:http://qa-systems.cn/
免费体验:http://www.softtest.cn/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44626372/article/details/106636191

智能推荐

条件注解@Conditional_java 不存在才创建 @conditional-程序员宅基地

文章浏览阅读110次。如果没有havingValue,那么会采用prefix+name 或 prefix+value 的值,去和false比较,如果值等于false 那么失败, 如果不等于false 成功。定义:在spring框架中用于根据特定条件决定是否创建或者注册某个bean或配置的注解,他们可以根据运行时环境,配置属性,或其他条件来动态的控制bean的创建或者注册。在上述代码中,表示会去application文件中,读取前缀为:Spring.datasource下,名字为type的key的值,读取到之后,会跟。_java 不存在才创建 @conditional

PDF 参照流/交叉引用流对象(cross-reference stream)的解析方法_php无法解析压缩的交叉引用和对象流的pdf-程序员宅基地

文章浏览阅读3.8k次。采用交叉引用流对象有以下几点好处:1) 压缩后存储的信息更紧凑;2) 可以访问存储在对象流中的压缩对象,并允许以后加入新的参照选项类型。_php无法解析压缩的交叉引用和对象流的pdf

面试只会问八股?你应该好好思考怎样做一场面试_如果面试一直问八股-程序员宅基地

文章浏览阅读517次。八股文并不能很好地测试候选人水平,我们应该思考更有效的面试方法。_如果面试一直问八股

英特尔Realsense学习笔记番外篇一:QWindowsContext: OleInitialize() failed_qwindowscontext: oleinitialize() failed: "com erro-程序员宅基地

文章浏览阅读2k次。导入pyrealsense2以后,使用PyQt5,会有以下警告:QWindowsContext: OleInitialize() failed: "COM error 0xffffffff80010106 RPC_E_CHANGED_MODE (Unknown error 0x080010106)"此警告在使用过程中没有影响程序的正常执行,如果不需要看到waring可以导入warnings库过滤warning。参考文献:1.WindowsContext:OleInitialize()失_qwindowscontext: oleinitialize() failed: "com error 0xffffffff80010106 rpc_e

linux DSA 开发(一)-程序员宅基地

文章浏览阅读6.5k次,点赞2次,收藏32次。linux DSA 开发(一)本文主要是翻译,原文链接如下:https://www.kernel.org/doc/html/latest/networking/dsa/dsa.html纲要本文档描述了**分布式交换机架构 (DSA)**子系统的设计原则、限制、与其他子系统的交互、如何为该子系统开发驱动程序设计原则分布式交换机架构最少是用于支持使用 Linux 的 Marvell 以太网交换机的子系统(MV88E6xxx),但此后也发展为支持其他供应商。这种设计_linux dsa

论文《最长沙堡保存策略》_沙堡论文-程序员宅基地

文章浏览阅读284次。最长沙堡保存策略Longest Sandcastle Preservation StrategyDOI: 10.12677/MOS.2020.93023, PDF, HTML, XML作者: 黄欣怡, 张 馨, 易毅强:湖南农业大学信息与智能科学技术学院,湖南 长沙关键词: 沙堡;液桥模型;毛细力;Young-Laplace方程;Sandcastle; Liquid Bridge Model; Capillary Force; Young-Laplace Equation摘要: 海滩是一个适合休闲_沙堡论文

随便推点

LeetCode #566 - Reshape the Matrix__%#:566-程序员宅基地

文章浏览阅读90次。题目描述:In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new one with different size but keep its original data.You're given a matrix represented by a tw...__%#:566

UserWarning: Workbook contains no default style, apply openpyxl‘s default warn no default style 解决方案-程序员宅基地

文章浏览阅读6.4w次,点赞15次,收藏11次。本文主要介绍了UserWarning: Workbook contains no default style, apply openpyxl’s default warn(“Workbook contains no default style, apply openpyxl’s default”)解决方案,希望能对新手有所帮助。文章目录1. 问题描述2. 原理详解3. 解决方案 3.1 安装库 3.2 使用正确的API_userwarning: workbook contains no default style, apply openpyxl's default wa

c++中类成员函数的相互调用_c++类的成员函数调用其他成员函数-程序员宅基地

文章浏览阅读8.6k次,点赞4次,收藏23次。c++中类成员函数的相互调用_c++类的成员函数调用其他成员函数

Window Linux双系统安装 超详细教程_windows linux双系统-程序员宅基地

文章浏览阅读3.5w次,点赞71次,收藏615次。Window Linux双系统安装历程今天下午搞了几个小时,可谓是困难重重,但是实际上只是被一个很小的问题困住了,其它地方都很简单。接下来简单讲一下安装的步骤以及遇到的问题。先讲一下设备状况:一台12年买的i3 window7 待报废的lenovo 笔记本一个32g的usb3.0另一台新的win10笔记本电脑磁盘分区首先要在安装双系统的电脑上,划分硬盘中的一个分区来装linxu。点击我的电脑(此电脑)->管理-> 磁盘管理比如这里我们的e盘原本有98.55g,然后还有_windows linux双系统

Unity 模型涂鸦-程序员宅基地

文章浏览阅读2.3k次。首先,要获取鼠标点击处对应的UV坐标,详见API:https://docs.unity3d.com/ScriptReference/RaycastHit-textureCoord.htmlAPI中其实已经重画了图片,但只是一个像素,下面给线设置宽度: /// <summary> /// 画线 /// </summary> /// ..._unity 模型涂鸦

qt使用q3dsurface绘制三维曲面图-程序员宅基地

文章浏览阅读7k次,点赞22次,收藏86次。在QT中使用Q3Dsurface绘制三维图。项目需要,而大部分教程都是比较简单的绘制,不能满足需求,本教程将三维数组数据绘制成三维曲面,在绘制三维曲面时,我原本以为是给入数据,然后由框架拟合出曲面,其实不是,本质上是一个一个点连接的,需要按顺序连接好节点,即一行一列连接,否则曲面就会看不出形状。_q3dsurface

推荐文章

热门文章

相关标签