高效代码静态测试工具Klocwork 2022.3版本快讯

发布于:2022-10-19 ⋅ 阅读:(369) ⋅ 点赞:(0)

Klocwork 2022.3 中的新增功能

随着 2022.3 的发布,Klocwork 对 C#、Java、JavaScript、Kotlin和Python的语言覆盖范围进行了更新和改进。

微软 Visual Studio IDE 插件已得到改进,可支持 C# 的多线程和增量分析,从而将选定项目和解决方案的分析时间缩短多达 200%*。此外,2022.3 还包括对可配置缺陷抑制功能的增强、扩展的 Android 构建规范生成 CLI 选项以及更广泛的编码标准覆盖范围。

(*基于内部基准的开放源码软件项目)

C# 分析引擎

改进了对 C# 7.2 语言规范的支持。新的语言功能包括:
• stackalloc 数组上的初始值设定项。
• 将 fixed 语句与支持模式的任何类型一起使用。
• 无需固定即可访问固定字段。
• 重新分配ref 局部变量。
• 声明 readonly struct 类型,表示结构是不可变的,应该作为参数传给其成员方法。
• 在参数上添加 in 修饰符,以指定参数通过引用传递,但不由被调用的方法修改。
• 在方法返回上使用ref readonly修饰符,表示一个方法通过引用返回其值,但不允许对该对象进行写入。
• 声明ref struct类型,以表明结构类型直接访问管理的内存,并且必须始终是堆栈分配的。
• 使用其他泛型约束。
• 非尾随命名参数。
  ○ 命名参数后可以跟位置参数。
• 数字文字中的前导下划线。
  ○ 数字文字现在可以在任何打印数字之前具有前导下划线。
• “专用受保护访问”修饰符。
  ○ private protected 访问修饰符允许访问同一程序集中的派生类。
• 条件 引用 表达式。
• 条件表达式 ( ?: ) 的结果现在可以是引用。

Java 分析引擎

完全支持 Java 13 语言规范。新功能包括:
• 改进了 Java 13 的构建过程监控,并减少了解析错误和警告。
• 升级了 Java 知识库,以提供更高的准确性和对 Java 13 API 的支持。

JavaScript, Kotlin, Python分析引擎

对 JavaScript、Kotlin和Python分析引擎和检查器的常规升级和改进:

JavaScript

• 支持高达 ECMA 脚本 2022 (ES13) 的脚本版本。
• 新增了 722 个代码复杂性、质量、性能、最佳编码实践等检查的集合。

Kotlin

• 支持高达 1.6.21 的 Kotlin 版本。
• 新增了 251 项代码复杂性、质量、性能、最佳编码实践等检查的集合。

Python

• 支持Python 3版本,最高可达3.10。
• 新增了 335 项代码复杂性、质量、性能、最佳编码实践等检查的集合。

C/C++分析引擎

增强了可配置的缺陷抑制功能。

• 使用缺陷抑制功能来专注于重要的问题。过滤掉代码中的噪音缺陷或你不负责的问题,如库、头文件和第三方代码。

  ○ 引入了在禁止显示文件或目录时允许分析优化的功能。

  ○ 提供项目拆分的替代方法。

Microsoft Visual Studio IDE Plugin

使用 Visual Studio 桌面分析插件可以快速轻松地检测问题,然后在签入之前修复问题。

• Microsoft Visual Studio IDE 扩展已得到改进,以支持 C# 的多线程和增量分析。

此更改可将选定项目和解决方案的分析时间缩短多达 200%*。

(*基于内部基准的开放源码软件项目)

用于安卓项目分析的扩展配置选项

使用 kwandroid 为 Android 分析生成构建规范的命令行选项已被扩展,以匹配其他构建监控工具。

编码标准

Klocwork 2022.3 的新增和扩展的标准覆盖范围和分类法:
• AUTOSAR – C++
• CERT – C and C++
• CWE – C, C++, and Java
• DISA STIG v5 – C and C++
• HKMC v4.1 – C and C++
• ISO/IEC TS 17961 – C
• JSF AV – C++
• MISRA – C:2004 and C:2012
• OWASP Top10 2021 – C#

新的漏洞检查器

2022.3 添加并改进了 Klocwork 支持的语言中的几个检查器:C 和 C++。新的检查器可发现以下各项的缺陷:
• 过程内数值溢出和环绕检测。
• 在循环中除以零。

有关新增功能的更多详细信息,请参阅发行说明。

Klocwork 2022.3 中的重要更改

许可证管理更改

自 2022.2 起,Klocwork 现在支持重用许可证管理器 (RLM)。
• FLEXlm/FlexNet 发布服务器支持已弃用,但将继续工作,直到 Klocwork 2023.1 发布。
• 在 2023.1 之前,您可以继续使用现有的 FLEX 许可证文件。如果您需要生成新的许可证文件,请联系 license@perforce.com 。
• 将为 Reprise 生成新的产品许可证文件,如果您需要较旧的 Klocwork 版本的 FLEX 许可证文件,我们可以为您提供此文件。

预告

Path API 版本升级 – Klocwork 2022.4

在 Klocwork 2022.4 发布后,需要审查自定义 C/C++ PATH 检查器的多线程兼容性。我们建议您查看自定义检查器以了解潜在的竞争条件,并使用 2022.4 Klocwork Path API 头文件和库重新编译。未重新编译的自定义检查器将继续工作,但将无法使用即将推出的并行化功能。请参阅我们的发行说明以了解更多信息。

生命周期终结公告 – Klocwork 2023.1

从 Klocwork 2023.1 开始,将不支持以下操作系统和安装程序:
• 苹果操作系统

➡️ 立即体验最新版Klockwork,发送邮件至info@polelink.com


喜欢本篇文章的话记得💬评论💖点赞⭐收藏
➕更多技术文章直播课程,敬请持续关注北汇信息➕
⬇️业务咨询请私信北汇信息或在官网留言⬇️
📩📩📩
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到