面对CICD分析的代码静态测试工具Klocwork 2023.1版本更新快讯

发布时间 2023-04-18 11:29:20作者: 北汇信息

前言

 

 

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管理器