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