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最新特性,欢迎联系北汇信息申请软件试用!体验优化
- 最近发表
- 随机阅读
-
- 莫雷托:莱奥的续约并非提高薪资总额,而是改善工资结构
- 汉阴县首批养老机构双回路电力改造圆满完工
- 铺货难、库存压?冰乐动果汁汽水打通全年动销闭环!
- 日均提问次数暴增 20 倍!百度搭子宣布重磅升级,企业版同步发布
- 采棉机操作手实测,上柴动力17J动力性能强在哪里?
- 褐变工艺打造特色熟酸奶,爱慕巴发酵酸奶开辟饮品差异化赛道!
- 厦门:旅游景区入园需提前预约 游客先约后游秩序井然
- 宝马申请新专利 太阳能电池板可通过外玻璃板为汽车充电,国际动态
- 柚木实木地板价格平稳\2020年12月份绥芬河木材市场柞木大方销售价格表-
- 解析长三角“流量”密码
- 奇幻勇者2026最新礼包兑换码分享
- IFA 2026韶音展台探访OpenFit Pro开放式滤噪新物种
- 2026阳澄湖大闸蟹礼卡品牌排名 正规高口碑品牌TOP5盘点
- 胡鹏:在人生的赛道上奋楫争先
- “乌鸦山文化”发掘展现战国晚期生活风情画卷
- 斯诺克深圳公开赛资格赛:中国军团首日八人晋级
- 中华面包专营店“福气鲜活面包”完成近千万元天使轮融资 今年拟开设10家店铺
- 我国木片加工市场年增长率在10%左右\2020年四川林业总产值增长9%-
- 皖浙签署农业农村领域合作协议
- 纯碱市场早报,期货知识
- 搜索
-
- 友情链接
-
- 《死或生6》明年2月份发售 正在考虑制作试玩版
- “蜘蛛侠”上车顶很拉风? 郑州交警:涉嫌违法
- 为什么越来越多人把奶爸保作为网上买储蓄险首选入口?
- 萧县酒店镇:社工志愿服务 唱响文明新风
- 宁夏贺兰:稻田画引客来
- 河南老家飞出穿花衣“小燕子” 儿歌《小燕子》词作者是河南确山人
- 淮南矿工坚守14载兑现“生命之约”
- 网上买保险避坑手册:以慧择为例梳理主流互联网保险购买平台正规判断思路
- 普通人买百万医疗保险需要注意什么?推荐星相守2号综合最稳
- 长庚故里梨园盛会启幕 百名少年齐聚潜山唱响京剧国粹
- “蜘蛛侠”上车顶很拉风?郑州交警:涉嫌违法
- 生意社:6月18日华鲁恒升环己烷价格平稳运行
- 重疾险有必要买吗?从理赔数据到投保实操,奶爸保是最佳投保入口
- 动康四大果汁组合,打通餐饮、流通、宴席全渠道!
- 王子云:一句承诺半辈子 绿了青山白了头
- 第三代秦PLUS DM
- “三夏”大规模小麦机收全面展开(新数据 新看点)
- 我国逐步摸清古茶树资源“家底”
- 三国天下归心左慈狼顾队玩法攻略
- 动康四大果汁组合,打通餐饮、流通、宴席全渠道!
- 商务部等九部门联合发文,联动家居卖场、家电品牌、家装企业加力推进春节消费
- 重疾险有必要买吗?从理赔数据到投保实操,奶爸保是最佳投保入口
- 翰墨赓续长征魂 笔墨丹青颂初心——教育书画协会圆满完成纪念中国工农红军长征胜利90 周年书法作品展活动 收藏资讯
- 保罗17+9快船遭逆转 国王1.8秒准绝杀结束4连败
- 中水物资北京公司完成重庆武隆蒲板风电项目主机合同签订工作
- “三夏”大规模小麦机收全面展开(新数据 新看点)
- 每日视点!思茅区繁花酥鲜花饼店(个体工商户)成立 注册资本15万人民币
- 精选!经开区老卢废品回收店(个体工商户)成立 注册资本3万人民币
- 双十一装机买新不买旧!锐龙配单条DDR5依然完胜双通道DDR4
- 科技巨头入局收藏赛道:文化资产会是下一个时代的财富风口? 收藏资讯
- 长庚故里梨园盛会启幕 百名少年齐聚潜山唱响京剧国粹
- 教育部要求“五一”精准掌握师生健康状况和出行去向
- 保罗17+9快船遭逆转 国王1.8秒准绝杀结束4连败
- 时尚配饰服装批发(时尚配饰服装批发市场地址)
- 漳州核电4号排水隧洞10根排水立管顶升施工全部完成
- Q3国内销量下滑 vivo高端机型销量稳居安卓第一
- 月圆中秋 寝心相伴|益恩家居:守护每夜团圆好眠
- 璩春明:孤身奋勇擒窃贼 志愿服务人人赞
- “后宫遗珍”展开幕 慈禧龙袍修复后首次亮相
- 周友铭:柔肩担使命 奉献映初心
- 《厦门市防洪防台风应急预案》修订版正式发布
- 黟县宏村镇:志愿服务“靓”家园,打造水清绿岸好环境
- 萧县酒店镇:社工志愿服务 唱响文明新风
- 安徽“强链补链”计划助推制造业集群发展
- Q3国内销量下滑 vivo高端机型销量稳居安卓第一
- 宁夏贺兰:稻田画引客来
- 杜宗雲:好儿媳无怨无悔照顾生病公公二十多年
- “蜘蛛侠”上车顶很拉风? 郑州交警:涉嫌违法
- 《英雄不再:特拉维斯的反击》新宣传片公布
- 迈乐迪品牌矩阵,破解经销商淡旺季困局!