产品中心
Helix QAC
Helix QAC是Perforce公司(原PRQA公司)的一款静态代码分析工具,依据C和C++编码规则自动扫描代码对规则的违背。凭借其分析的深度和准确性,Helix QAC 一直是需要满足严格合规要求的严格监管和安全关键行业的静态代码分析工具。通过QAC的使用可以减少代码审查所需的时间,使软件设计师在开发阶段的就可以避免代码中的问题,提高代码的质量,缩短后期动态测试的周期。

Helix QAC核心价值

  • 可以支持数百万行代码的高效分析
  • 全面提高代码质量和安全性
  • 提升代码的可移植性和复用性
  • 持续检查源码是否符合相应的编码规范
  • 给出诊断消息帮助开发工程师更正错误
  • 避免人工审查代码的瓶颈
  • 模拟运行时机制进行数据流分析

Helix QAC关键检查项

检测C/C++语言中会降低代码复用性、引发产品故障、导致功能安全问题、产生网络安全漏洞的危险结构。

Helix QAC可以帮助有效避免未定义行为、违反ISO语言约束、溢出和零除、未初始化的数据、内存/指针操作问题、控制流问题、类型转换、冗余代码、移位操作、对象/函数声明和定义问题、危险的语言使用、不可移植的语言使用、标识符的命名惯例等风险。


Helix QAC关键特性

编码规则深度覆盖

Helix QAC提供了对主要编码规则的深度覆盖,可以更完整地覆盖C和C++的主要编码标准的规则。Helix QAC支持多种C和C++编码标准,提供相应的合规性模块,也支持标准的客户化定制。


独特的数据流分析

Helix QAC独特的深度数据流分析引擎集成了一个先进的、经过行业验证的可满足性模块化理论(SMT) 解析引擎——这是首个用于深度数据流静态分析产品的技术,可以查找程序运行时的错误和严重的缺陷,如:数组越界、空指针隐患、代码除数为零、内存操作隐患、资源泄露、死代码、不可达分支、变量关系等问题,并显示错误触发的详细堆栈信息。Helix QAC的数据流分析功能还支持用户自定义分析深度,以便在分析深度和效率之间合理平衡。


高度可执行的诊断结果

Helix QAC清楚地标识出必须修复的缺陷,并将问题按严重程 度分类,提供在线帮助系统,即时支持开发人员修复源代码中发现 的问题。这种即时反馈的方式可以帮助开发人员很快建立起对最佳 实践方法的认识,形成良好的编码习惯。


风险优先级

根据风险的严重性确定编码问题的优先级。Helix QAC 可帮助您使用过滤器、抑制和基线来定位最关键的缺陷。它提供准确的诊断和可操作的结果,使您能够首先解决最重要的问题。


分析仪表板

Helix QAC 仪表板是分析结果的集中存储,可通过 Web 浏览器访问。结果将作为“快照”上传到仪表板。自定义视图和报告意味着可以随时间推移监控项目代码质量和合规性指标。Helix QAC 仪表板是完全可自定义的,使您能够定制其行和列,以更充分地满足团队和项目的需求。通过使用仪表板,您可以:

• 按项目和部分审查整个代码。

• 识别问题和偏差。

• 查看项目更新和通知。

• 分配规则配置(如 MISRA、AUTOSAR 和 CERT)。

• 验证代码是否符合编码标准和行业最佳实践。

• 衡量整体代码质量。

• 通过可定制的报告监控发展趋势。


开发工具集的集成

将静态代码分析与开发工具集的部分集成。Helix QAC 支持大多数编译器。而且,您可以将其与许多开发工具集成,包括 IDES(如 Microsoft Visual Studio)、版本控制系统(如 Helix Core)和持续集成构建服务器(如 Jenkins)。

技术规格

支持的语言:

•C •C++

支持的平台:

•Windows7 /Windows 10 / Windows 11

•Linux RHEL5 and above(32/64 bit)

支持的编码标准:

•MISRA C:2023

• MISRA C 2012 (including AMD4)

• MISRA C 2004

• Barr-C

• AUTOSAR C++14

• MISRA C++ 2023

• MISRA C++ 2008

• JSF AV C++

• CERT C

• CERT C++

• CWE, including CWE Top 25

• ISO/IEC TS 17961 (C Secure)

• High Integrity C++ (HIC++)

• 用户自定义规则

支持的IDE:

• Eclipse • Visual Studio • Visual Studio Code

支持的功能安全标准:

• ISO 26262 up to ASIL level D*

• IEC 61508 up to SIL 4*

• EN 50128 up to SW-SIL 4*

• IEC 62304 up to Software Safety Class C*

• IEC 60880*

• D0330


Helix QAC 2023.3 中的新增功能

Helix QAC 2023.3能够在2023年第4季度发布的新MISRA C++®指南中实现100%的MISRA C++:2023®规则覆盖。此外,该版本还增加了对C++20语言的扩展支持,并对Perforce Validate平台,以及Helix QAC与Validate的集成进行了改进,包括使用体验与性能方面的增强。

编码标准覆盖率(MISRA C++:2023®,MISRA C:2023®)

MISRA C++:2023®

Helix QAC预计对即将于2023年第四季度发布的MISRA C++:2023.3准则实现100%的强制覆盖。

  • 新的M2CPP兼容模块将在新标准发布时提供,该模块将强制执行MISRA C++:2023,可与Helix QAC 2023.3一同使用。

MISRA C:2023® 

Helix QAC为MISRA C:2023提供了100%的强制覆盖,该版本将MISRA C:2012与所有四项修订和两项技术勘误整合成了一部综合性的单一版本.

  • M3CM兼容模块对第8.3规则的强制执行有所改进。

C++20语言支持

此版本新增对以下语言特性的支持:

  • 需求表述(requires-expressions)——随C++概念引入,可用于确定构造的有效性,而不会导致编译器错误。

Perforce Validate

该持续安全与代码合规平台为嵌入式和关键的应用程序提供功能安全、防范、可靠性和质量保证。Validate平台集中存储了分析数据、趋势和代码库配置的,涵盖整个组织,为所有Perforce静态分析产品提供了单一管理平台。2023.3版本提供:

  • 支持使用多个合规性模块的项目——改进了项目实施其他编码标准、规则或漏洞类型时的分析结果。
  • 验证、报告、插件和图形用户界面也进行了更改,以反映对项目中多个合规性模块的新支持。

提升用户体验

安装

  • 为Helix QAC和合规性模块提供了Zip/tar存档,可作为安装程序的替代方案,从而提供更灵活的产品部署、维护和升级方式

自动CCT发生器

  • 在使用INJECT、MONITOR和MSVS等同步类型时增加对自动CCT生成的支持
  • 解决了多个现有支持的编译器存在的问题

数据流

  • 改进了数据流处理,使用更少的内存,并提高内存或交换存储有限的计算机上的稳定性
  • 图形用户界面(GUI)
  • 改进了使用GUI时对4K显示器的支持

插件

  • VS代码
  • 在文件保存时运行分析
  • 增强了在远程运行QAC时访问帮助的功能*

*注意:需要诊断列表(diaglist)许可证

  • Visual Studio
  • 改进了GUI元素同步,以便继续与Validate集成
  • Eclipse
  • 改进了GUI元素同步,以便与Validate平台持续集成

操作系统

  • 支持Windows 11