C/C++代码静态测试工具Perforce QAC 2026.3 新特性
Perforce QAC2026.3 新增了对 MISRA C++:2023 (TC1:2026) 的代码支持——这是最近发布的技术勘误,对标准中的静态部分规则和指令进行了编辑性澄清,并扩大了少数规则和指令的测试检测范围。通过新增对 switch 语句结构规范性的工具检查,部分 MISRA C 规则的特性执行能力也得到了改进。QAC 分析引擎新增了对更多 C23 和 C++20 语言特性的代码支持,以提升解析和分析能力。静态同时,测试针对数组元素、工具结构体元素以及通过函数指针进行调用的特性数据流建模也得到了改进,从而减少误报和漏报。代码 此次版本更新还扩展了 AI辅助问题修复工作流程,静态使 AI 助手现在能够通过 Perforce SA MCP 服务器直接启动 QAC 分析,测试同时新增了对更多 AI 聊天工具的工具支持,包括适用于 Visual Studio Code 的特性 Cline 扩展。Visual Studio Code 扩展现已支持 Rust,而 Rust 分析器现在支持泛型、trait(特征)及其实现,从而能够对符合 Rust 语言惯用编程方式的代码进行更深入的分析。Perforce Validate 的更新包括:支持取消项目导入、改进构建期间的 LDAP 连接恢复能力、加快跨项目同步速度,以及升级第三方依赖组件以纳入最新的安全更新。 合规模块 与 MISRA C++:2023 (TC1:2026) 保持一致 MISRA C++:2023 (TC1:2026) 已正式发布,修正了自该指南最初发布以来发现的措辞歧义和遗漏问题,对约 50 条规则和指令进行了编辑性澄清。少数规则的检测范围也有所扩大,以符合修订后的指南要求:内存复制类函数的覆盖范围现已明确包含对应的宽字符版本;新增识别更多缓冲区管理函数和宽字符库函数;同时解决了两个相关检查项之间检测范围重叠的问题。 Perforce QAC 对相关检查项的分析,以及 MISRA C++:2023 合规模块 M2CPP,均已进行调整,以反映上述变更。 改进 MISRA C 规则 16.1 的执行能力 MISRA C:2012 和 MISRA C:2025 合规模块中规则 16.1 的执行能力得到了改进。现在会从语法层面对整个 switch 语句体进行检查,而不再仅检查第一个 switch 标签之前的部分,同时新增了与新 QAC 消息对应的映射关系。 改进对 C23 和 C++20 语言特性的支持 C23 标签位置的自由化 QAC 现在支持 C23 引入的两种标签放置方式:标签后紧跟声明,以及将标签作为复合语句中的最后一项。针对这两种情况,系统均会报告新的消息,并统一适用于命名标签、case 标签和 default 标签。 同一语法规则的变更还解决了错误的 case 标签导致部分虚假“Unexpected token”(意外的标记)报告的问题。 C++20 std::bit_cast QAC 现在能够在常量求值过程中正确建模 std::bit_cast。此前执行的是数值转换,而现在能够正确保留位模式。同时还支持与结构体之间的双向转换。 C++20 no_unique_address 属性 QAC 现在支持 C++20 的 no_unique_address 属性,包括 Microsoft C++ 的对应形式。该属性通过将空基类优化推广至数据成员,消除了空类型带来的存储开销。如果两个其他方面完全相同的类在该属性的使用上存在差异,QAC 现在能够正确地判定它们不具备布局兼容性。 C++20 聚合类型的类模板实参推导 此前,QAC 仅根据类模板的构造函数生成推导指引。现在,QAC 还会根据基类和非静态数据成员生成聚合类型推导候选,并将其与基于构造函数生成的推导指引一起纳入相同的重载决议过程。该功能支持数组边界、字符串字面量、指定初始化器、大括号省略以及别名模板。 QAC 现在还会将 __cpp_deduction_guides 报告为其 C++20 对应的值,因此,检测该特性的代码将不再被报告为依赖不受支持的功能。 扩展 constexpr 求值能力 QAC 针对 C++ 的常量求值能力在多个方面得到了扩展: 放宽重写相等运算符的重载决议规则 根据 C++20 的一份缺陷报告,QAC 现在对合成及重写的相等运算符应用放宽后的重载决议规则。 改进对 switch 语句结构规范性的检查 此前,对 switch 子句结构规范性的检查仅适用于第一个 case 或 default 标签之前的代码。现在,QAC 也会在遇到标签后继续检查语句结构是否正确,包括检测直接放置在子句语句列表中的声明,以及位于无条件终止当前分支的语句之后、下一个标签之前的其他语句或声明。对于静态声明和常量初始化声明,系统会报告严重程度较低的消息变体。 C 和 C++ 分析均新增了相应消息。位于带大括号子句内部的声明或语句不受影响,因为大括号会将其置于嵌套的复合语句中。 改进数据流分析 提升数据流建模深度 此次版本更新包含多项针对 Dataflow(数据流)建模精度的改进。由于这些改进涉及建模机制,而非针对特定检查器的优化,因此可能影响任何 Dataflow 消息。其优势包括减少误报、减少因无法完全确定某个值而被降级为“possible”(可能存在)级别的消息,以及减少漏报。 具体变更如下: 增强 Rust语言分析能力 支持泛型、trait(特征)及其实现 QAC Rust 分析器的 Dataflow 支持能力得到了大幅扩展,现在能够对泛型函数进行实例化和内联分析,涵盖独立泛型函数、默认实现、泛型 trait 及其实现中的方法,以及使用 impl Trait 类型的函数签名。 现在还能够解析泛型函数体内部对 trait 函数的静态调用,使这些函数也能够被完整内联,并在适当情况下选择默认实现和部分特化(partial specializations)实现。由此,QAC 能够对符合 Rust 语言惯用编程方式的代码进行更深入的分析。 Visual Studio Code 中的 Rust 支持 Visual Studio Code 扩展现在支持 Rust,因此可以在 IDE 中以与 C 和 C++ 相同的方式查看和修复 Rust 诊断问题。 AI 辅助问题修复功能的 MCP 更新 通过 AI 助手启动分析 Perforce 静态分析模型上下文协议(Model Context Protocol,MCP)服务器能够以标准化、独立于具体工具的格式,向 AI 助手提供静态分析数据,例如诊断信息、修复指导和规则文档。 在 2026.3 版本中,AI 助手还可以启动 QAC 分析,因此无需离开 AI 助手的交互环境,即可在单一对话式工作流程中完成分析、审查和问题修复。 支持更多 AI 聊天工具 MCP 服务器已针对更广泛的 AI 聊天工具进行了测试,Visual Studio Code 的 Cline 扩展现已与 GitHub Copilot Chat 一起被记录为受支持的客户端。 Validate 平台改进 取消项目导入 管理员现在可以查看导入队列的大小,并通过 Validate 门户或 Web API 取消排队中或正在进行的项目导入操作。“import_project”操作会返回目标项目 ID,而“import_status”会报告新增的“cancelling”(正在取消)和“cancelled”(已取消)状态,以便跟踪操作进度。 改进构建期间的 LDAP 连接恢复能力 当 LDAP 连接已关闭时,Validate 现在会重新尝试 LDAP 请求,建立新的连接并继续构建,而不再因初次请求失败而导致构建失败。这一改进提升了在正常运行过程中可能发生 LDAP 连接中断的环境下,构建过程的连续性。 加快跨项目同步速度 运行 validate xsync --module,可以将跨项目同步操作的范围限定为源项目中单个模块所属的问题。通过减少需要处理的问题数量,可以加快同步速度,并允许团队仅同步项目特定部分的 citation(引用)信息更新,而不会影响其他模块。 安全性改进 Validate 使用的第三方依赖组件已完成升级,以确保纳入最新的安全更新,包括 Tomcat、Jetty、Spring Boot、OpenSSL 和 log4j。 编译器支持能力增强 操作系统支持 QAC 2026.3 中的重要变更 组件兼容性 QAD 和 QAXD 证书已在 2026.3 版本中更新。因此,2026.2 及更早版本的组件无法与 2026.3 项目引擎配合使用,反之亦然。 不再需要配置代理服务器 继 2026.2 版本改为通过随机本地端口进行 HTTPS 通信后,现在本地通信将忽略代理服务器配置。此前为使 QAC 能够在受代理限制的环境中运行而必须采用的变通解决方案,现在已不再需要。 许可证管理变更 以下许可证相关变更自 2026.1 版本起引入: 终止对 Visual Studio 2015 的支持 正如 2026.2 版本中提前公告的那样,自 2026.3 版本起,Visual Studio IDE 插件不再支持 Visual Studio 2015。 终止对早于 2019-03 版本的 Eclipse 的支持 自 2026.3 版本起,Eclipse IDE 插件不再支持早于 2019-03 的 Eclipse 版本。 提前公告 Dashboard 将从 2027.1 版本起终止生命周期 从 2027.1 版本开始,Dashboard 将达到生命周期终点,当前 QAC GUI 和 CLI 中用于与 Dashboard 交互的功能将被弃用。 建议使用与 Perforce Validate 连接的项目,对分析结果进行集中管理。Perforce 可以提供专业服务,支持将现有项目数据从 Dashboard 迁移至 Validate 的过程。 弃用 quietextended 选项 -quietextended(-qx)选项自 2026.1 版本起已被弃用,并可能在未来版本中移除。 想体验Perforce QAC 2026.3最新特性,欢迎联系北汇信息申请软件试用!体验优化
- 最近发表
- 随机阅读
-
- 南美小众材种有小批量成交记录\国际木材市场观察:西非奥古曼库存积压严重-
- 加拿大央行前瞻:81%概率加息至2.50%,报告与指引将主导加元走势
- 动力煤挺价;焦炭偏强;焦煤震荡偏弱
- 繁昌区:社区有群“老工匠”
- 全省汽车产销快速增长
- 1比1战平江苏队 北京城建女足卫冕希望渺茫
- 泉州洛江区赴成都市开展“泉州开放日”暨2026年“送岗引才进校园”活动
- 2026年充填泵厂家选型观察:从泥浆泵到充填工艺的设备适配与山东中探机械有限公司评测参考
- WTT中国大满贯即将开票
- 大瓶装生椰牛乳来了!泰爱你抢占流通新商机!
- 122亿治水项目来了!广州东部水环境治理项目招标
- 繁昌区:社区有群“老工匠”
- 2027国考开始报名 南安6个岗位拟招录10人
- 国家统计局数据显示我国经济景气水平总体回升
- 佳能发布imageFORCE赢系列12款新品及两款解决方案
- 郭云强调研迎亚运城市品质提升工作:高标准推进环境全面提升 展现海上花园最美景象
- 奇遇西行封神大战高胜率阵容推荐
- 安庆火车站上演“急速救援”
- 美股涨也难提消费信心 黄金酝酿转机
- 美股涨也难提消费信心 黄金酝酿转机
- 搜索
-
- 友情链接
-
- 国家标准门槛极高,不能仓促出台:艺术品鉴定国标的“慢”逻辑 收藏资讯
- 鹤庆供电局走进老旧小区开展用电服务
- 两岸艺术家黄山作品展在台举办
- 前两月电信业务收入累计完成2923亿元
- 运动时尚杂志服装(运动时尚杂志服装图片)
- 《影之刃零》非常火爆 预购销量突破百万份
- 《古墓丽影:暗影》9月中旬上线 背景故事介绍
- 沃什发布会:经济强劲但通胀仍过高,将调整FOMC会议安排
- 《古墓丽影:暗影》9月中旬上线 背景故事介绍
- 鹤庆供电局开展企业客户上门用电检查
- 帝欧水华、曲美家居、法狮龙等企业纷纷联动AI,激烈市场竞争下的“求生”与“求胜”
- 《Overkill的行尸走肉》配置要求公布 单人模式友好
- 四大绿色变压器核心优势解析:技术革新赋能电力低碳转型,行业未来前景可期
- 今年前三季度长三角区域进出口总值创历史同期新高
- 关于开展全县肿瘤高危人群筛查工作的通告
- 国家标准门槛极高,不能仓促出台:艺术品鉴定国标的“慢”逻辑 收藏资讯
- iPhone Duo玩王者存在大黑边 网友吐槽 李佳琦劝大家先别买
- 三姐服装时尚(三姐服饰)
- 木子时尚服装清仓(木子服饰)
- 时尚国风设计服装图片高清(时尚风格服装)
- 国网吕梁供电公司:守护校园周边家庭用电安全 供电在行动
- 厦门多所高校明确返校时间 分批错峰返校
- 地缘缓和信号反复,两大选举窗口临近,金价等待拐点
- 关于开展全县肿瘤高危人群筛查工作的通告
- 三姐服装时尚(三姐服饰)
- 为深化党性教育、锤炼党员作风、凝聚干事创业合力
- 富德生命人寿怎么样好不好?答案藏在它不说的那些事里
- 百家博物馆70项展览呈上文化盛宴
- 119500欧元杀入BBA腹地!极氪9X巴黎首秀,中国豪华SUV的欧洲生死局
- 向美而行 向绿而兴 向新而进——贵州省绿洲海环保(集团)匠心筑就生态华章
- 郎溪县:书香伴手作 童趣迎新春
- 三姐服装时尚(三姐服饰)
- 汉阴县第二小学:铭记历史 厚植新时代家国情怀
- 石狮启动科学教育“做中学”领航行动
- 厦门多所高校明确返校时间 分批错峰返校
- 问界官宣2027年进军欧洲,巴黎车展释放了哪些信号?
- 三姐服装时尚(三姐服饰)
- 汉阴法院诉讼服务中心:司法为民的“暖心枢纽”
- 王国大作战前线第51章矮人洞窟通关攻略
- 汉阴农商银行以“V企贷”精准滴灌民营小微企业高质量发展
- 《古墓丽影:暗影》9月中旬上线 背景故事介绍
- 范冰冰时尚测评服装(范冰冰时尚资源依旧逆天)
- 双依格家居再登中品榜 斩获门墙柜一体定制十大品牌荣誉
- 美联储决议前夕,黄金围绕4000美元整数关反复拉锯,等待方向选择
- 从个人爱好到国家储备:古玩艺术品的价值,终于觉醒了! 收藏资讯
- 典雅胡桃丨拒绝“网红短期花色”!耐看十年的原生木纹,不靠滤镜、不靠P图!
- 《控制:共振》登陆GOG 标准版与豪华版均无DRM
- 晋江周末持续晴好 洗衣晾晒正当时
- 香港保险公司十大排名:一份基于产品力与合规性的客观观察
- AION UT Cross首秀巴黎 广汽欧洲布局延伸到用车服务