Helix QAC 2023.4 新增功能
Helix QAC 2023.4全面支持MISRA C++:2023®规则,涵盖100%的指南。此版本还加强了对C++20语言的支持,改进了数据流分析性能,并在整个产品中增加了多项用户体验改进。
增强的C++20支持
此版本新增了对以下语言特性的支持:
- 模板参数列表和函数声明的requires-clause约束
- 非类型约束的缩写函数模板声明
改进的带有缓存的数据流性能
- 通过求解器缓存,减少了增量分析的数据流分析时间。
- 在被选定测试项目中,第二次分析运行的分析时间减少超过50%。
- 数据流还能在函数超时期间完成更多分析,得益于缓存。
增强的GNU和ISO C算术类型支持
- 针对代码中用到的不常用语言特性,如复杂类型、供应商扩展类型和使用不寻常运算符的复杂表达式,改进了QAC对字面量和算术类型的处理,显著提高了支持度。
编码标准覆盖(MISRA C++:2023®, HKMC, CERT)
MISRA C++:2023
Helix QAC发布了MISRA C++:2023规则的100%执行覆盖,配备了适用于2023.3和2023.4版本的新MCPP合规模块。
更新的合规模块
- HKMC映射更新
- CERT类别增加了严重性、优先级和级别
- 针对MISRA C:2023合规模块的日文翻译进行了改进
- 提高了对下列标准的执行:
- MISRA C:2023规则9.3、10.3、10.5
- AUTOSAR规则A3-8-1、AV-1-2
- MISRA C++规则6-2-2
框架
- 改进了宏扩展和模板实例化历史的跟踪,以帮助诊断问题。
- 通过增强的基于注释的抑制引擎,允许每行多个偏离原因。
用户体验的改进
支持自动CCT生成的其他编译器
- Synopsys Metaware
- Cadence Tensilica
- TI C6000
- Qualcomm Hexagon
- Clang 15
- Embarcadero BCC64
Visual Studio Code IDE插件
- 改进VS Code插件以支持远程分析器执行
Visual Studio和Eclipse IDE插件
- 总体稳定性改进
Validate
- 支持通过CLI和GUI创建Validate项目
CLI
- 新增qacli view选项以输出规则违规详细信息
- 增强的%K类别说明符,以更轻松地映射到规则
- 当没有HOME环境变量时,优雅地处理失败
GUI
- 项目列表中新增上下文菜单项以打开项目位置
- 树视图面板中的文件名搜索
- 新的上下文菜单项以打开所选文件的预处理文件
- 从源代码跳转到预处理源文件
Helix QAC 2023.4的重要变更
合规模块目录更改:
从Helix QAC 2023.4开始,工具将不再从旧的“PRQA”目录读取合规模块。合规模块仅将从“Perforce”文件目录等效位置读取。
以下是现在过时的文件目录:
- %LOCALAPPDATA%\PRQA\installed_components.ini
- %PROGRAMDATA%\PRQA\installed_components.ini
- ${HOME}/.config/PRQA/installed_components.ini
- /etc/prqa.d/installed_components.ini