Klocwork 2023.1为CI/CD分析pipeline引入灵活的管理选项 。使用差异分析加速静态分析扫描, 在CI/CD管道构建中提供上下文结果,并可以用和服务器端相同的方式管理issue。
扩展了对Java 14/15和C#8.0语言的支持,C/C++/C# PATH分析性能提升高达50%*。此外,此版本还包括对MISRA C:2012和DISA STIG编码标准规则覆盖范围的改进,Visual Studio IDE插件提供了新的分析模式选项。
*(根据内部基准测试的开放源码软件项目)
在Validate中管理CI/CD pipeline的差异分析
• 对Klocwork的持续集成工具和验证平台进行了新的工作流改进,为CI/CD Pipeline分析提供了灵活的管理选项和快速反馈。
○ 通过使用验证中新的"CI Build"选项卡来管理差异分析持续集成构建。
○ 使用CI Build来保证新代码提交的质量。
○ 利用Klocwork的差异分析,基于Delta更改更快地识别问题,而不必运行完整的构建。
○ CI构建的名称和筛选器。
○ 以处理服务器问题的相同方式来管理问题。
• 项目流功能支持CI/CD构建。
• 已经添加了新的WebAPI命令来创建、更新或删除配置项构建以及检索配置项问题详细信息。
○ 提供与其他CI/CD pipeline(如Jenkins)的轻松集成,以提供上下文结果。
C/C++ 分析引擎
改进了C/C++ PATH分析的性能。
• PATH分析现在可以并行化利用额外的CPU内核/线程,为大型复杂项目提供更高的性能。
• 这一变化将选定项目和解决方案的分析时间缩短了50%*。
*(根据内部基准测试的开放源码软件项目)
请注意:有关“PATH API版本升级”的详细信息,请参阅下面的“Klocwork 2023.1中的重要更改”部分。“ 关详细信息,请参阅发行说明.
C# 分析引擎
改进了C# PATH分析的性能。
• 这一变化将选定项目和解决方案的分析时间缩短了50%*。
*(基于内部基准OSS项目)
改进了对C#8.0语言规范的支持。新的语言功能包括:
• const成员在接口中的声明
• readonly实例成员
• static局部函数
• 默认接口方法
• 空引用类型
• async streams
• using声明
• 一次性ref结构
Java分析引擎
扩展了对Java 14和15语言规范的支持。新功能包括:
• 改进的构建过程监控,减少Java 15的解析错误和警告。
• 扩展的PATH分析以支持Java 14开关表达式。
• Java 15 API支持Klocwork构建集成工具。
• 升级Java知识库以提供更高的准确性和对Java 15 API的支持。
• kwandroid工具现在支持-lang选项,您可以使用该选项为C++或Java生成单独的构建规范。
编码标准
针对Klocwork 2023.1新增和扩展的标准覆盖范围和taxonomies:
DISA STIG v5 — C, C++, 和Java
• MISRA C:2012 AMD2 规则覆盖率为99%。
• CWE — C++, Java
• CERT — C
• Joint Strike Fighter Air Vehicle C++
• OWASP Top 10 — Java
用户体验提升措施
Visual Studio IDE 插件
VS插件现在支持C/C++/C#的两种分析模式选项:
• Klocwork的原生Visual Studio分析器提供根据本地配置的项目或解决方案的设置量身定制的结果。
• 新的外部引擎选项使用了Klocwork的“kwcheck”工具,提供了额外的新功能。
○ 与内部引擎相比,kwcheck生成的分析结果与从kwciagent和kwbuildproject获得的结果更加一致。
○ 与连接的项目同步以使用系统配置。
○ 提供使用本地生成的生成规范或使用外部生成的。
○ 利用增量和并行进行微分分析。
有关新增功能的更详细信息,请参阅发行说明。
Klocwork 2023.1中的重要更改
License管理变更
从2023.1开始,Klocwork现在只支持Reprise license管理器(RLM)。
• FLEXlm/FlexNet Publisher支持在2022.2中已弃用,将不再适用于Klocwork 2023.1版本。
• 将为Reprise生成新的license文件;如果您需要旧版Klocwork的FLEX license文件,我们可以为您提供。
• 2022许可证与Klocwork 2023.1不兼容。需要新的许可证才能使用最新版本的产品。联系license@perforce.com获得新的许可证。
PATH API版本升级
随着Klocwork 2023.1的发布,自定义C/C++ PATH检查器将需要进行多线程兼容性检查。我们建议您查看自定义检查器以查找潜在的竞态条件,并使用2023.1 Klocwork Path API头文件和库重新编译。未重新编译的自定义检查器将继续工作,但将无法使用并行化功能。请参阅我们的发行说明以了解更多信息。
Klocwork 2021的维护结束
所有版本的Klocwork 2021的维护工作于2023年3月31日结束。此外,维护结束(EOM)日期和销售结束日期(EOS)也发生在2023年3月31日。有关对任何版本的Klocwork提供支持的信息,请参阅Klocwork产品生命周期.
声明结束的公告
从Klocwork 2023.1开始,将不支持以下操作系统,并且不再提供相应的安装程序:
• Mac OS
将不再支持以下许可证管理器:
• FlexNet Publisher license管理器