C/C++代码静态测试工具Perforce QAC 2025.4 的新特性

Perforce QAC 2025.4 版本提供了一个新的最小化安装程序,以简化 CI/CD 环境的部署,增强了分析功能如扩展了针对 Windows API 的动态内存分析。Visual Studio Code 插件也已更新,为桌面端用户提供了 AI 辅助的代码修复功能,通过结合 QAC 高质量的分析结果为建议的修复提供信息,显著提升代码缺陷查找与修复效率。

其他功能改进包括:改进了在单个项目中处理多个合规性模块的能力,以及更好地解析 C++17 代码,特别是与类模板参数推导和重载解析相关的场景Perforce Validate 的更新包括完成了 Web 门户的品牌更新工作,在分析结果中移除了对 Helix QAC 相关标识的引用。

用于 CI/CD 部署的简化安装程序
QAC 安装程序当前提供了一个精简脚本来移除安装程序中的的部分组件并减少安装占用空间。为了进一步简化 QAC 在 CI/CD 环境中的部署,从 2025.4 版本开始,提供了一个新的独立安装程序,仅包含运行分析工具以及与 Validate 集成所需的最小组件集。

Visual Studio Code 中的 AI 辅助代码修复
QAC 2025.4 引入了一项新功能,将 Perforce Visual Studio Code插件 VS Code IDE 中的 GitHub Copilot Chat 扩展集成。Perforce 插件会整理所需的输入数据,并利用 AI 为 QAC 分析发现的问题提供代码修复建议。该功能结合 QAC 的静态分析结果生成智能修复建议,并提供交互式工作流,支持在 IDE 中直接审查和应用修改。

语言特性支持
此版本增强了对 C++ 语言特性和语法的支持,包括:

  • 改进对类模板参数推导(CTAD)的支持。
  • 支持使用 0o 前缀扩展来指定八进制字面量。
  • 不会被调用的转换运算符模板现在在特化之前就从重载集中排除。
  • 未调用的转换运算符模板将从重载集合中提前排除,避免参与特化。
  • 现在推迟处理特化类作用域中的静态成员对象初始化器,直到访问该静态成员对象的值才执行。
  • 通过隐式声明的默认构造函数构造的对象,在值初始化上下文中创建并用于常量表达式时,现可正确进行值初始化。

Windows API 扩展动态内存分析

Dataflow 数据流分析的动态内存分析功能已扩展至涵盖虚拟内存分配(virtual alloc)和堆内存分配(heap alloc)相关 API。除了检测内存泄漏、双重释放和使用后释放错误外,还可识别混合 API 使用场景,例如将 VirtualAllocEx HeapFree 组合使用的情况。

Validate 平台改进和功能
针对 QAC 产品名称变更完成 Validate Web 门户的重塑品牌
2025.2 版本起,QAC 安装程序和用户界面已进行品牌更新以反映新产品图标和产品名称。Validate 门户中剩余的 Helix QAC 相关标识已通过更新 QAC 项目数据的消息标识处理逻辑彻底移除。Validate 项目迁移流程也已更新,以确保旧版本 Validate 中的项目可以顺利升级。

安全性改进
Tomcat 服务器版本已升级,以确保包含最新的安全更新。

Dashboard 项目数据迁移至 Validate 的初始能力

Perforce 现提供专业服务支持将现有 Dashboard 项目数据迁移至 Validate。该过程利用 2025.4 的更新功能及额外的工具,将数据转换并上传至新的 Validate 项目。

易用性增强
编译器支持改进

  • Renesas
  • GHS ccv850

GUI 和 CLI 改进

  • 报告生成性能改进。
  • 允许为日志文件设置自定义位置。

IDE 插件

  • 支持 Eclipse 2025-09。

Validate 平台

  • 改进了问题浏览器中列表视图和表格视图之间选择/导航的一致性。
  • 提高了项目属性的可配置性,以应用于在 Validate 中创建的所有新项目。

 

Perforce QAC 2025.4 中的重要变更
2025.2 产品名称更改为 Perforce QAC
2025.2 开始,产品名称从 Helix QAC 正式更改为 Perforce QAC,并启用新产品图标。安装程序与用户界面已同步更新,并且安装和用户数据的位置已更新如下:

  • 默认安装位置已更改为:
    • Linux: $HOME/Perforce/QAC-2025.2
    • Windows: C:\Perforce\QAC-2025.2
  • 默认 UDL 已更改为:
    • Linux: $HOME/.config/Perforce/QAC-2025.2
    • Windows: %LOCALAPPDATA%\Perforce\QAC-2025.2
    • 查看当前 UDL 位置请参见 'qacli config udl --list --current'

Helix_Generic_C 和 Helix_Generic_C++ CCT 已被弃用,并替换为 QAC_Generic_C 和 QAC_Generic_C++ CCT。

许可证管理变更
2025.1 开始引入了以下许可证变更:

  • 新的 RLM v16.1BL1 服务器安装程序随 Perforce QAC 2025.1 版本一起提供。如果将 Perforce QAC 搭配 Validate 2025.1,则必须升级到此服务器版本。新版本 RLM 16.1BL1 兼容旧版本的 Perforce QAC。
  • 许可证特性现在基于年份,版本将显示为25.0
  • 2024 年许可证与 Perforce QAC 2025.1 或更高版本不兼容,如需申请新许可证,需联系revops-apptesting@perforce.com  申请新许可证。
  • 由于许可证变更,无法将 2024.4 及更早版本的合规性模块与 Perforce QAC 2025.1 或更高版本一起使用,需升级至匹配QAC版本的合规性模块。

 

生命周期终止公告
预公告
弃用 'qacli view' 的 DIAGLIST、ANNSRC 和 SARIF 输出类型
2025.1 起,'qacli view' 的 DIAGLIST、ANNSRC 和 SARIF 输出类型已被弃用,并将在 2026.1 版本(预计于 2026 年第一季度末发布)中移除。这些类型目前仅在使用相应许可证时才能访问。建议通过使用带有 Validate 的项目来集中管理分析结果,以准备应对此变更,它提供了一种使用 Validate Web API 导出选定结果记录的方法。

已弃用的命令将在 2026.1 中移除
所有先前已弃用并在手册第 14 章中列出的 qacli 命令计划在 2026.1 版本中移除。已弃用的命令列表显示了应使用的新命令(如果已被替换)。

posted @ 2026-01-08 11:47  北汇信息  阅读(65)  评论(0)    收藏  举报