Klocwork 2024.2 の新機能

2024 年 7 月発売

以下は Klocwork 2024.2 の新機能です。Klocwork をアップグレードする場合は、アップグレードと使用方法に影響を与える可能性がある項目を制限事項で参照してください。

SAML と OIDC 認証によるセキュリティとユーザーエクスペリエンスの強化

セキュリティアサーションマークアップ言語 (SAML) または OpenID Connect (OIDC) 認証を使用して、アイデンティティプロバイダー (IdP) を Klocwork と統合し、次のような利点を享受できるようになりました。

  • 一元的な認証によるセキュリティの強化

  • シングルサインオン (SSO) によるユーザー管理とエクスペリエンスの簡素化

Klocwork は次のアイデンティティプロバイダーでテスト済みです:

  • SAML: Keycloak、Okta、AWS、Cisco、Github

  • OIDC: Keycloak、Google、Microsoft Entra (旧 Azure AD)、AWS

SAML と OIDC の設定方法については、SAML アクセス制御のセットアップ、および OIDC アクセス制御のセットアップを参照してください。

アプリケーショントークンを使用した認証

リリース 2024.2 では、ltokensアプリケーショントークンに置き換えられています。リリース 2024.2 より前のスクリプトで ltokens を使用していた場合は、ltoken からアプリケーショントークンへの移行を参照してください。
SAML または OpenID Connect でサポートされている Validate サーバーで認証するには、kwauthtools、kwbuildtools、または kw-desktop-tools にある kw-cmd-installer のいずれかのパッケージから、kwauth のバージョン 24.2 以降をインストールします。認証ツールパッケージのインストールを参照してください。

Validate でアプリケーショントークンを作成し、次のタスクに対して SAML または OIDC 対応サーバーで安全に認証できるようになりました:

SAML または OIDC デバイス認証 (デスクトッププラグインを含む) は、Validate ログインページを通じて行われ、kwauth または validate auth によって生成されたアクセスコードを使用します。詳細については、Perforce による Validate へのアクセスを参照してください。

Validate でユーザーセッションとトークンを管理する

管理者は、Validate によって個々のユーザーセッションを管理できるようになりました。この権限を有効にすると、ユーザーを Validate セッションからログアウトさせ、ユーザートークンを取り消すことができます。詳細については、ユーザーセッションとトークンの管理を参照してください。

Validate で強化されたパスワードセキュリティをお楽しみください

Validate アカウントに安全なパスワードポリシーを実装できるようになりました。このポリシーでは、パスワードが次の基準を満たすことが必要です:

  • 最低 8 文字

  • 少なくとも 1 つの大文字

  • 少なくとも 1 つの小文字

  • 少なくとも 1 つの数字

  • 少なくとも 1 つの特殊文字 (!、@、#、$ など)

既存のパスワードはこの新しいポリシーの影響を受けません。詳細については、安全なパスワードの有効化を参照してください。

MISRA C および C++ 分類基準表記の改善

MISRA C および C++ の分類がより効率的に整理されるようになりました。分類法ごとにルールファーストのアプローチが採用されており、チェッカーは分類法内のルールのサブカテゴリになります。

C および C++ の機能向上

C/C++ 用の Klocwork 分析エンジンは、クラシックモード、標準モード、またはモダンモードを使用して実行できます。オプションを指定しない場合は、デフォルトで標準モード (推奨) が使用されます。詳細については、C/C++ 解析エンジンモードの指定を参照してください。

Java の機能強化

ビルドスペックを変更して解析対象の Java ファイルのセットを絞り込む代わりに、kwandroid 内の --ignore-files オプションを使用できるようになりました。

コーディング標準の対象範囲の拡大

このリリースには、次のコーディング規約に関する新しい拡張カバレッジが含まれています。

  • Kotlin の CWE

プラグインと拡張機能

Validate サーバー、プラグイン、ツールのバージョンに応じて、クラシック認証または SAML または OIDC 認証のいずれかを使って、任意のプラグインでプロジェクトまたはストリームに接続できるようになりました。お使いのデスクトップ分析ツールのドキュメントに記載されている手順を参照して、画面の指示に従います。

コードレビューツールの削除

このリリースでは、Validate のコードレビュー機能が削除されました。関連するコマンドラインツールも削除されました。

チェッカーの改善

新しいチェッカー

このリリースでは、以下のチェッカーが追加されました:

チェッカー 説明
MISRA.TOKEN.WRONGESC.C.2004 および MISRA.TOKEN.WRONGESC.CPP.2008 これらの MISRA チェッカーは、MISRA-C Rule 4.1 のサポートに対応しています (必要 (Required)): リテラルおよび MISRA-C++ Rule 2-13-1 内のエスケープシーケンスが正しくありません (必要 (Required)): ISO/IEC 14882:2003 で定義されているエスケープシーケンスのみを使用する必要があります。

変更されたチェッカー

チェッカー 説明
A_UNUSED.GEN 誤検知の検出が少なくなる
AUTOSAR.ADD.ENUM.OP 誤検知の検出が少なくなる
FUNCRET.GEN 誤検知の検出が少なくなる
LOCRET.RET 誤検知の検出が少なくなる
MISRA.ETYPE.INAPPR.CAST.2012 誤検知の検出が少なくなる
MISRA.TOKEN.WRONGESC 誤検知の検出が少なくなる
MISRA.VAR.UNIQUE.STATIC 追加の欠陥を検出する
MLK.MUST 誤検知の検出が少なくなる
NNTS.MUST 誤検知の検出が少なくなる
NPD.CHECK.MIGHT 誤検知の検出が少なくなる
NPD.FUNC.MIGHT 誤検知の検出が少なくなる
NPD.FUNC.MUST 誤検知の検出が少なくなる
SV.BRM.HKEY_LOCAL_MACHINE チェッカーへの全体的な改善
UNINIT.CTOR.MUST 誤検知の検出が少なくなる
UNINIT.HEAP.MUST 誤検知の検出が少なくなる
UNINIT.STACK.MIGHT 誤検知の検出が少なくなる
UNINIT.STACK.MUST 誤検知の検出が少なくなる

有効または無効なチェッカー

このリリースでは、チェッカー構成ファイルのデフォルトの enabled フィールドに追加された、または削除されたチェッカーはありません。

分類基準の改善

インストールの一部として、Klocwork チェッカーを MISRA、CWE、OWASP、DISA STIG などのコーディング標準にマップするカスタム分類基準ファイルがいくつか提供されています。

分類基準 改善
cert_c_all.tconf と cert_c_all_ja.tconf

チェッカーマッピングを以下の規則に追加または更新しました。

  • CERT POS02-C
cert_cpp.tconf と cert_cpp_ja.tconf cert_cpp.tconf と cert_cpp_ja.tconf 分類基準を大幅に再編成しました。
cwe_all_kt.tconf および cwe_all_kt_ja.tconf Klocwork Kotlin チェッカーを CWE ID にマッピングする新しい分類基準を追加しました。
Helix QAC 分類基準 Helix QAC 分類基準を、Helix QAC バージョン 2024.2 に更新しました。

misra_c_2023_c99.tconf および

misra_c_2023_c99_ja.tconf

misra_c_2023_c90.tconf および

misra_c_2023_c90_ja.tconf

misra_c_2023_c11.tconf および

misra_c_2023_c11_ja.tconf

misra_c_2012_with_amd2_c99.tconf および

misra_c_2012_with_amd2_c99_ja.tconf

misra_c_2012_with_amd2_c90.tconf および

misra_c_2012_with_amd2_c90_ja.tconf

misra_c_2012_with_amd2_c11.tconf および

misra_c_2012_with_amd2_c11_ja.tconf

misra_c_2004.tconf および

misra_c_2004_ja.tconf

misra_cpp_2023.tconf および

misra_cpp_2023_ja.tconf

misra_cpp_2008.tconf および

misra_cpp_2008_ja.tconf

MISRA C と C++ 分類基準を大幅に再編成しました。分類基準はそれぞれルールファーストのアプローチを使用して定義されるようになり、チェッカーは分類基準内のルールのサブカテゴリです。

サポートされているコンパイラへの改善

次のコンパイラのサポートを追加または改善しました。

  • Clang
  • Clang-cl
  • GCC
  • IAR
  • Renesas

サポートされる C/C++ コンパイラの全リストについては、「ビルド統合でサポートされる C/C++ コンパイラ」を参照してください。

ライセンス

Klocwork は、Reprise License Manager (RLM) をサポートします。

2023 ライセンスは、Klocwork 2024.1 以降との互換性がありません。製品の最新バージョンを使用するには、Perforce (license@perforce.com) に連絡して新しいライセンスを取得してください。

詳細については、サポートされる RLM のバージョンおよび RLM ドングルをサポートするオペレーティングシステムを参照してください。

システム要件の変更

このリリースでは、次のサポートが追加されました:

  • AlmaLinux 9.4

  • Amazon Linux 2 (2.0.20240529.0 Update)

  • Android Studio Iguana (2023.2.1 Patch 2)

  • Chrome 115.x ~ 126.x

  • CLion 2023.1.7、2023.2.4

  • Eclipse 4.32 (2024-06)

  • Fedora 40

  • Firefox 115.x ~ 127.x、115.x ESR

  • Glibc 2.39

  • Gradle 8.8

  • IntelliJ IDEA 2023.1、2023.2.7

  • Microsoft Edge 115.x ~ 126.x

  • openSUSE Leap 15.6

  • Oracle Linux 9.4

  • Red Hat Enterprise Linux 9.4

  • Rocky Linux 9.4

  • Ubuntu 22.04 ~ 22.04.4 LTS

  • Visual Studio 2017 バージョン 15.9.63

  • Visual Studio 2019 バージョン 16.11.37

  • Visual Studio 2022 バージョン 17.10.3

  • VS Code 1.80.2 ~ 1.90.2

このリリースでは、次のサポートを終了しました:

  • Chrome 111.x ~ 114.x

  • Fedora 38

  • Firefox 111.x ~ 114.x

  • Jenkins プラグイン

  • Microsoft Edge 111.x ~ 114.x

  • VS Code 1.76.2 ~ 1.80.1

サポート対象のバージョンの完全なリストについては、「システム要件」を参照してください。

Klocwork 2024.2 以降の Jenkins プラグインの削除

Klocwork 2024.2 以降、Jenkins プラグインは Klocwork から削除され、インストール パッケージは提供されなくなりました。

Klocwork 2024.2 以降、Validate コード レビューが削除されました

Klocwork 2024.2 以降、コード レビュー機能とそれに関連するコマンド ライン ツールが Validate から削除されました。

Klocwork 2024.3 以降の NIS アクセス制御のサポート終了

Klocwork 2024.3 以降では、NIS アクセス制御のサポートが終了します。このリリースでは一部の機能が影響を受ける可能性があります。移行情報については、NIS アクセス制御のセットアップを参照してください。

Klocwork 2024.3 以降の CentOS Linux 7 のサポート終了のお知らせ

Klocwork 2024.3 以降では、以下のオペレーティングシステムとインストーラーはサポートされなくなります:

  • CentOS Linux 7

Klocwork 2022 のメンテナンス終了

Klocwork のすべての 2022 バージョンのメンテナンス (メンテナンス終了および販売終了を含む) は、2024 年 3 月 31 日に終了しました。すべての Klocwork リリースで利用可能なサポートの詳細については、Klocwork 製品ライフサイクルを参照してください。

2024 年における docs.roguewave.com の中止

docs.roguewave.com サイトは 2024 年初めに廃止されました。 Klocwork バージョン 2021 以前については、製品に含まれるオフラインドキュメントを参照してください。

リリース 2023.4 での Klocwork サーバーインストールの中止

リリース 2023.4 以降、Klocwork サーバーインストールは中止されました。Validate のインストールに移行できます。これは、より合理化され、統合されたエクスペリエンスを提供するように設計されています。

Klocwork から Validate に移行する場合:

  • Klocwork インスタンスを停止し、projects_root をバックアップします。

  • Validate のインストール中に、projects_root ディレクトリの場所を現在の projects_root ディレクトリに設定します。

  • 現在、ポートまたはライセンスサーバーにデフォルト以外の値を使用している場合は、Validate のインストール時に必ず同じ値を設定してください。

指摘のグループ化の中止

Klocwork 2023.3 の時点から、新規プロジェクトでは指摘のグループ化がデフォルトで無効になります。

指摘を回避するには、Klocwork をアップグレードする前に指摘のグループ化をオフにしてください。