What's new in Klocwork 2024.1
Released March 2024
Here are the highlights for Klocwork 2024.1. If you're upgrading Klocwork, see the Limitations for items that might affect your upgrade and usage.
Take advantage of upgrade and migration improvements
You can now:
-
Minimize maintenance and downtime by starting the Validate Server before projects have been migrated. Successful migrations will be available immediately, and failed migrations will be automatically disabled.
-
Apply fixes and remigrate problematic projects without interrupting the use of successfully migrated projects.
-
Save time by migrating individual projects without having to restart the Validate Server.
Manage project states
You can assign project states using the kwadmin
command, to indicate whether a project is active, inactive, or unavailable, and whether it is being migrated or deleted. Project states are visible in Validate and the Web API.
In addition, you can assign project states to restrict edit and view access during maintenance operations or backup creation.
Exclude individual projects from migration
To help speed up migration, you can exclude specific projects. Excluded projects will not be migrated and will appear as disabled in the Validate tools. Later, you can migrate and enable excluded projects individually without restarting the Validate server. For details, see Migrate your projects_root directory.
Prioritize migration of specific projects
To prioritize important projects, you can assign a priority list which specifies the order in which projects will be migrated. Projects not included in the list will be migrated in the order of their project id. To learn more, see Migrate your projects_root directory.
Import or duplicate existing projects
You can now import a project from another Validate server even if the project name matches an existing project on the target server. For more information, see Import your projects and server settings.
Explore new capabilities in Validate
You can now:
-
Allow specific users to change an issue's owner but not its status by assigning the permission
change issue owner
. -
Benefit from expanded search capabilities with increased support for the use of
*
and**
wildcard characters in modules.
Preserve license logs for audit purposes in Klocwork and Validate
You can now preserve logs for auditing purposes, by appending the logs to your license server license.report.log file instead of overwriting the file after the server restarts. To learn about the append.license.logging
setting, see kwservice.
Analyze projects that were built with Bazel
You can analyze projects built with Bazel by using the kwbazel command on Linux or the --bazel
option in kwandroid for Android projects. The kwbazel command supports build integration for C/C++, C#, and Java projects, allowing custom compilation mnemonics handling through configuration. Bazel's virtual_includes
are also supported.
Download issue list as CSV
You can now download your list of issues as a CSV file. The CSV download button can be found at the top of the Issues page.
Kwciagent now hides stream issues by default
Starting in this release, kwciagent list is set to --no-stream by default to hide stream issues. To view stream issues, you must set kwciagent list to --stream.
Discontinuation of docs.roguewave.com in 2024
The docs.roguewave.com site will be discontinued in early 2024. For Klocwork versions 2021 and earlier, see the offline documentation that is included with the product.
C and C++ enhancements
This release includes new taxonomies that map Klocwork checkers to the MISRA C++:2023 standards.
Expanded coverage for coding standards
This release includes new and expanded standards coverage for the following coding standards:
-
CWE for C and C++
-
MISRA C++:2023
Plugins and extensions
Visual Studio Code
To save you time, Visual Studio Code will run differential analysis when you open or change a file instead of analyzing the whole build specification.
Visual Studio
The status and info bars are improved to highlight important information and reduce visual distractions.
Checker improvements
New checkers
No checkers were added in this release.
Modified checkers
Checker | Description |
---|---|
Buffer overflow checkers | Finds additional defects |
INVARIANT_CONDITION.UNREACH | Finds fewer false positives |
MISRA.EXPR.PARENS.REDUNDANT | Finds additional defects |
NPD.FUNC.MUST | Finds additional defects |
Enabled or disabled checkers
No checkers were added to or removed from the default enabled
field of the checker configuration files in this release.
Taxonomy improvements
As part of the installation, you will find several custom taxonomy files that map Klocwork checkers to coding standards such as MISRA, CWE, OWASP, and DISA STIG.
Taxonomy | Improvements |
---|---|
cwe_all_cxx.tconf and cwe_all_cxx_ja.tconf |
Added or modified checker mappings to the following weaknesses:
|
Helix QAC taxonomies | Updated the Helix QAC taxonomies to Helix QAC version 2024.1. |
misra_cpp_2023_certified.tconf and misra_cpp_2023_certified_ja.tconf |
Added new taxonomies that map Klocwork checkers to the MISRA C++:2023 standards. |
Improvements to supported compilers
You'll find additional or improved support for the following compilers:
-
Clang
-
Clang-cl
-
Tasking Tricore
For the full list of supported C and C++ compilers, see C/C++ compilers supported for build integration.
Licensing
Klocwork supports Reprise License Manager (RLM).
2022 licenses are not compatible with Klocwork 2023.4 or newer. To use the latest version of the product, obtain a new license by contacting Perforce at license@perforce.com.
In this release, you'll find additional information about using RLM dongles with Klocwork. For more information, see Supported versions of RLM and Operating systems that support RLM dongles.
Changes to system requirements
In this release, we added support for:
-
AlmaLinux 9.3
-
Amazon Linux 2 (2.0.20240124.0 update)
-
Android Studio Giraffe 2022.3.1 Patch 4, Hedgehog 2023.1.1 Patch 4, Iguana 2023.2.1 RC2
-
Chrome 111.x to 122.x
-
CLion 2023.1.6, 2023.2.3
-
Debian 11.9
-
Eclipse 4.30 (2023-12)
-
Fedora 39
-
Firefox 111.x to 122.x, 115.x ESR
-
Gradle 8.6
-
IntelliJ IDEA 2023.1.6, 2023.2.6
-
Jenkins 2.445
-
Microsoft Edge 111.x to 121.x
-
Oracle Linux 9 to 9.3
-
Red Hat Enterprise Linux 9 to 9.3
-
Rocky Linux 9.3
-
Visual Studio 2017 version 15.9.60, 2019 version 16.11.34, 2022 version 17.9.0
-
Visual Studio Code 1.76.2 to 1.84.1
In this release, we ended support for:
-
Chrome 109.x to 110.x
-
Fedora 37
-
Firefox 107.x to 110.x
-
Microsoft Edge 108.x to 110.x
-
Visual Studio Code 1.74.3 to 1.76.1
For the complete list of supported versions, see System Requirements.
Maintenance ending for Klocwork 2022
Maintenance (including end of maintenance and end of sale) for all 2022 versions of Klocwork ends on March 31, 2024. To learn about the support available for all Klocwork releases, see the Klocwork Product Lifecycle.
Discontinuation of Klocwork Server installations in release 2023.4
Starting from release 2023.4, Klocwork Server installations have been discontinued. You can transition to a Validate installation, which is designed to provide a more streamlined and integrated experience.
When transitioning from Klocwork to Validate:
Stop your Klocwork instance and back up the projects_root directory.
During Validate install, set the projects_root directory location to your current projects_root directory.
If you are currently using non-default values for ports or license server, be sure to set the same values when you install Validate.
Discontinuation of issue grouping
Starting from Klocwork 2023.3, issue grouping is turned off by default for new projects.
To help avoid issues, turn off issue grouping before you upgrade Klocwork.