Perforce Klocwork 2025.2版本更新:默认启用现代分析引擎、支持 MISRA C:2025 新规、CI构建性能提升等

Perforce Klocwork 现已更新至2025.2版本!该版本增强了对 C/C++的分析能力,提升了现代 C++ 分析的准确性,并改进了对源文件编码的支持。该版本还为 MISRA® C:2025 标准引入了新的分类体系,并增强了 Visual Studio Code 插件的可用性。

在 2025.2 版本中,Perforce Validate 的更新为使用 CI 构建的项目提供了更高的性能和可扩展性,并减少了存储占用空间。其他改进还包括:新增问题详情的表格视图,作为现有问题列表的替代方案;改进合规性报告,使 MISRA 和通用报告格式之间保持更高的一致性。

Klocwork 2025.2 的增强功能

C/C++ 分析引擎

默认启用现代分析模式,支持更广泛的 C++ 分析:

现代模式现已成为 C/C++ 数据流分析的默认模式,提供更强的语言特性支持,能够更有效地分析现代 C++ 代码。

启用现代模式后,由于语言特性的覆盖更全面,可能会发现更多的新缺陷。在升级到 2025.2 版本时,建议您使用升级前最后一次分析所用的相同代码版本重新运行分析,以便隔离因升级带来的变更,然后仔细审查差异。

默认启用现代分析模式,支持更广泛的 C++ 分析:

现代模式现已成为 C/C++ 数据流分析的默认模式,提供更强的语言特性支持,能够更有效地分析现代 C++ 代码。

启用现代模式后,由于语言特性的覆盖更全面,可能会发现更多的新缺陷。在升级到 2025.2 版本时,建议您使用升级前最后一次分析所用的相同代码版本重新运行分析,以便隔离因升级带来的变更,然后仔细审查差异。

Perforce Validate 平台改进

数据库改进:

针对 CI 构建的数据库结构已更新,以减少存储占用和数据库在高负载下的频繁写入。这将提供更好的性能和可扩展性,尤其适用于 CI 活动频繁的项目。

更灵活地查看和管理问题:

在 Validate 的“问题”(Issues)标签页中,可选择使用现有的列表视图,或全新的表格视图来对问题进行排序、筛选、搜索和更新,并完全支持批量操作。

扩展了对规则引用查询的支持:

在 Validate 2025.2 中,现在可通过分类体系(taxonomy)和规则引用(rule reference)来搜索问题列表。在“问题”标签页和“问题详情”面板中,将显示与每个问题相关的所有分类和引用信息。此外,还支持使用 Web API 搜索操作来进行分类和引用查询。

改进构建保留策略的工作流程:

Validate 的自动构建删除功能可通过删除旧的构建来帮助管理存储空间。现在,您可以在 Validate门户、Web API 或命令行工具中更精细地配置项目或流级别的构建保留策略。

改进合规性报告:

Validate 合规性报告的内容和布局已更新,使 MISRA 报告与通用报告格式之间更加一致,并提供有关所选构建应用配置的更多信息,包括抑制配置文件(suppression configuration file)。在通用合规性报告中,“文件摘要”(File Summary)现在会显示每个文件的规则违规次数,以便更清晰地查看。此外,生成完整(非摘要)的合规性报告不再需要合规性许可证。

除了报告内容的变更外,Validate 门户和 Web API 还新增了操作功能,使删除合规性报告更加便捷。

编码标准

  • Klocwork 2025.2 新增了新的分类标准,适用于:MISRA C:2025;

  • 增强了对以下标准的覆盖:

    – CERT C++

    – MISRA C:2023、MISRA C:2012(含 Amendment 2)

  • 此外,还更新了多个分类标准的规则/类别文本格式,以支持在合规性报告中,将规则名称和描述分列显示。

优化使用体验

IDE插件:

  • 适用于VS Code的Perforce静态分析插件现已包含“规则引用”列,支持按规则名称和类别进行排序。

  • 在 VS Code 插件中新增对单个文件进行分析的功能。

分析工具:

为帮助诊断分析流程中的问题并修复权限缺失情况,kwcheck 和 kwciagent 命令现在会在遇到问题时返回非零退出代码。

Validate可用性改进:

在问题详情浏览器的文件树中,每个文件现在会单独显示代码行数指标。

编译器支持:

增强了对以下编译器的支持:

  • Clang

  • TI cl430

  • GNU iccarm

  • QNX

Klocwork 2025.2 的重要变更

2025.2 版本中删除 kwmatch 工具

自 Klocwork 2025 起,kwmatch 工具已被移除。如果您从旧版本升级,建议使用“流”(streams)管理项目分支,并使用 kwxsync 实现跨项目的问题同步。

如果您之前为特定项目使用 kwmatch 并创建了数据库,在将这些项目迁移到 2025.2 或更高版本后,该数据库将不再使用,建议您将其删除。

2025.2 版本中删除 dbvalidate 清理工具

从 2025.2 版本开始,您不能再直接运行 dbvalidate 清理工具。部分用于删除重复问题和注释的 dbvalidate 命令仍保留,但仅在 Perforce 支持团队明确建议时方可使用。

许可证管理变更

自 2025.1 版本起,引入以下许可证变更:

  • Klocwork 工具现在使用 Reprise License Management (RLM) v16.1BL1。升级后的许可证服务器已包含在 Validate 安装包中。若要与 Klocwork 2025.1 及以上版本兼容,所有旧版 RLM 服务器必须升级至该版本。

  • 2024 年的许可证不兼容 Klocwork 2025.1 或更高版本。如需使用最新产品版本,请通过customer@shdsd.com联系Klocwork代理商龙智,获取新许可证。


Perforce官方授权代理商龙智:

访问官网:www.shdsd.com  

业务咨询:400-666-7732

合作邮箱:marketing@shdsd.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96646.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人驭风而行:低空经济如何开启智能新纪元【科普类】

新晋码农一枚,小编会定期整理一些写的比较好的代码和知识点,作为自己的学习笔记,试着做一下批注和补充,转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!…

Java学习笔记四(继承)

1 继承继承的实现:public class 子类 extends 父类 {… }注释:子类可直接使用,父类(保护,公开)的属性和方法优点:减少重复代码,缺点:只能单继承// 父类 public class Tes…

NAT技术:SNAT与DNAT区别详解

1. 什么是NAT? 定义:NAT 是一种网络技术,用于在私有网络(如家庭或企业局域网) 与 公共网络(如互联网) 之间转换IP地址。它允许使用私有IP地址的设备通过一个(或多个)公共…

java语言中,list<String>转成字符串,逗号分割;List<Integer>转字符串,逗号分割

java语言中&#xff0c;list<String 转成字符串&#xff0c;逗号分割 在 Java 中&#xff0c;将 List<String> 转成逗号分割的字符串有多种方法&#xff1a; 使用 String.join 方法 String.join 是 Java 8 引入的一个静态方法&#xff0c;它可以方便地将集合中的元素用…

NineData云原生智能数据管理平台新功能发布|2025年8月版

本月发布 11 项更新&#xff0c;其中重点发布 5项、功能优化 6 项。重点发布数据库 DevOps - SQL 窗口支持 PolarDB 系列SQL 窗口新增支持 PolarDB PostgreSQL 与 PolarDB Oracle 数据源&#xff0c;扩展云原生数据库管理能力。新增 AWS 数据源支持新增支持 AWS Aurora Postgre…

【ARDUINO】通过ESP8266连接WIFI,启动TCP,接受TCP客户端指令【测试中】

通过ESP8266连接WIFI&#xff0c;启动TCP&#xff0c;接受TCP客户端指令**记录**2025年9月8日11:20:372025年9月9日08:45:342025年9月11日21:40:22**代码**记录 2025年9月8日11:20:37 【测试情况】 代码可以跑到正确连接WIFI&#xff0c;也能获得IP&#xff0c;但是启动TCP服…

(网络原理)核心知识回顾 网络核心原理 get和post的理解 解析http 加密+请求和响应的一些关键字 Cookie和session 对密钥的理解

目录 核心知识回顾 网络核心原理 get和post的理解 解析http 加密请求和响应的一些关键字 Cookie和session 对密钥的理解 核心知识回顾 网络编程---socket api UDP DatagramSocket DatagramPacket TCP ServerSocket Socket 1.读写数据通过Socket,通过Socket内置的 lnpu…

前端框架对比分析:离线PWA + Cloudflare Workers部署

目录 概述 框架对比表格 详细分析 1. Astro ⭐⭐⭐⭐⭐ **强烈推荐** 2. Next.js ⭐⭐⭐⭐ **推荐** 3. Remix (现React Router) ⭐⭐⭐⭐⭐ **强烈推荐** 4. SvelteKit ⭐⭐⭐⭐ **推荐** 5. Nuxt.js ⭐⭐⭐ **一般推荐** 6. Vite + React ⭐⭐⭐ **基础选择** 推荐方案 🏆 …

9-10关于JS初学产生的问题

1.页面添加加载完成事件监听&#xff0c;页面加载完成后&#xff0c;执行页面初始化方法/函数; 这是什么意思 这句话描述的是前端开发中一种常见的操作&#xff1a;等待页面完全加载完成后&#xff0c;再执行特定的初始化代码。 简单来说&#xff0c;就是要确保页面上的所有元素…

项目中遇到pom文件里使用systemPath的例子记录

项目中遇到pom文件里使用systemPath&#xff0c;很少见&#xff0c;问了下豆包&#xff0c;记录下结果。在 Maven 的 pom.xml 中&#xff0c;<systemPath> 是 <dependency> 标签内的一个可选配置&#xff0c;用于手动指定本地系统中某个依赖包&#xff08;通常是 J…

10、向量与矩阵基础 - 深度学习的数学语言

学习目标:建立向量和矩阵的几何直观理解,掌握线性代数的核心概念,培养空间思维能力,为手搓大模型奠定扎实的数学基础 想象一下,当你使用GPT进行对话时,每个词汇都被转换成高维向量,整个对话历史变成一个巨大的矩阵。模型的"理解"过程,本质上就是在这个高维空…

【Python Tkinter】图形用户界面(GUI)开发及打包EXE指南

【Python Tkinter】图形用户界面&#xff08;GUI&#xff09;开发及打包EXE指南一、关于 Python Tkinter二、密码生成器示例2.1 使用Python添加图形用户界面&#xff08;GUI&#xff09;2.2 使用工具PyInstaller将应用打包成exe文件三、总结一、关于 Python Tkinter Python Tk…

【设计模式】【观察者模式】实例

一对多的统一监听 —— 这就是 观察者模式&#xff08;Observer Pattern&#xff09; 的经典应用场景。也就是说&#xff1a;一个事件源&#xff08;Subject&#xff09; → 可以注册多个监听器&#xff08;Observers&#xff09;&#xff1b;当事件发生时&#xff0c;一次性通…

C#测试调用OpenXml操作word文档的基本用法

OpenXML SDK是微软为高效处理Office文档&#xff08;如Word、Excel&#xff09;而开发的开源.NET库,它直接操作文档内部的XML结构&#xff0c;无需安装Office软件即可实现文档的创建、读取和编辑,常用于服务器端批量生成报表、自动化文档处理等场景&#xff0c;轻量且跨平台。本…

照度传感器考虑笔记

您好&#xff01;很高兴为您解答关于照度计传感器和设计的问题。这是一个非常专业且实际的话题。 一、照度计常用的照度传感器类型 照度计的核心是光电探测器&#xff0c;其工作原理是将光信号转换为电信号。目前主流的照度传感器都属于硅光电二极管&#xff08;Si Photodiode&…

C# Web API Mapster基本使用

安装包&#xff1a;Mapster1.注册MyRegister.Scan(); // 全局配置 //builder.Services.AddMapster(); // 需要安装Mapster.DependencyInjection包 builder.Services.AddScoped<IMapper,Mapper>();2.配置&#xff08;可不进行配置直接使用也行&#xff09;public class My…

<数据集>无人机航拍人员搜救识别数据集<目标检测>

数据集下载链接https://download.csdn.net/download/qq_53332949/91899456数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;5755张 标注数量(xml文件个数)&#xff1a;5755 标注数量(txt文件个数)&#xff1a;5755 标注类别数&#xff1a;1 标注类别名称&#xff…

STM32 开发(三十三)STM32F103 片内资源 —— 直接存储 DMA 实战 编码详解

👈《上一篇》  🏡《主目录》  👉《下一篇》 文章目录 一、基础知识点 二、开发环境 三、STM32CubeMX相关配置 四、Vscode 代码讲解 ADC -DMA 采集温度值 代码解析 DAC -DMA 输出 1KHZ 正弦波 代码解析 五、结果演示 ADC -DMA 采集温度值 结果演示 DAC -DMA 输出 1KHZ 正…

Ip 地址,子网掩码

1. 什么是 IP 地址&#xff1f;IP 地址是互联网上设备的唯一标识&#xff0c;类似于现实中的“门牌号”&#xff0c;用于设备之间的通信。ABC类IP内网地址的范围如下&#xff1a;A类地址&#xff1a;范围是 10.0.0.0 到 10.255.255.255&#xff0c;用于大型网络&#xff0c;网络…

软件工程领域内容运营的翻译策略:打破语言边界

软件工程领域内容运营的翻译策略:打破语言边界 关键词:软件工程、内容运营、翻译策略、技术本地化、术语管理、跨文化沟通、机器翻译 摘要:在全球化协作日益紧密的今天,软件工程领域的内容(如技术文档、API手册、开发者博客、开源社区指南等)早已突破单一语言限制,成为连…