Klocwork 2024.1 の新機能

2024 年 3 月 発売

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

アップグレードと移行の改善を活用する

今すぐ可能なこと:

  • プロジェクトが移行される前にValidateサーバを起動することによりメンテナンスおよび、ダウンタイムが最小限に抑えられるようになりました。移行に成功すると、直ちに利用可能になり、失敗した移行は自動的に無効になります。

  • 正常に移行されたプロジェクトの使用を中断することなく、修正を適用し、問題のあるプロジェクトを再移行します。

  • Validate サーバーを再起動せずに個別にプロジェクトを移行することで時間を節約できます。

プロジェクトステートの管理

プロジェクトがアクティブか、非アクティブかまたは、使用できないかそして、そのプロジェクトが移行されたかまたは、削除されたかを示すため、kwadmin コマンドを使用してプロジェクトステートを割り当てることができます。プロジェクトステートは Validate および、Web API で確認することができます。

さらに、プロジェクトの状態を割り当て、メンテナンス操作中またはバックアップ作成中に編集および表示のアクセスを制限することができます。

個々のプロジェクトを移行から除外する

移行を迅速化するために、特定のプロジェクトを除外できます。除外したプロジェクトは移行されず、Validate ツールでは無効として表示されます。除外されたプロジェクトは、Validate サーバーを再起動せずに、後から個別に移行して有効にすることができます。詳細については、プロジェクトルートディレクトリの移行を参照してください。

特定プロジェクトの移行を優先する

重要なプロジェクトに優先順位を付けるために、プロジェクトを移行する順番を指定する優先度リストを割り当てることができます。リストに含まれていないプロジェクトは、プロジェクト ID の順番で移行されます。詳細については、プロジェクトルートディレクトリの移行を参照してください。

既存のプロジェクトのインポートまたは複製

名前がターゲットサーバー上の既存のプロジェクトと同一であっても、別の Validate サーバーからプロジェクトをインポートできるようになりました。情報については、プロジェクトとサーバー設定のインポートを参照してください。

Validate の新機能を探索する

今すぐ可能なこと:

  • change issue owner の権限を割り当てることで、特定のユーザーが指摘オーナーを変更できるようになりますが、ステータスは変更できません。

  • モジュール内での *** ワイルドカード文字の使用のサポートが強化され、検索機能が拡張されました。

監査目的で KlocworkValidate にライセンスログを保存します。

サーバーの再起動後にライセンスサーバーの license.report.log ファイルを上書きするのではなく、ログをこのファイルに付加することで、ログを監査目的で保存できるようになりました。append.license.logging の設定については、kwservice を参照してください。

Bazel で構築されたプロジェクトを分析する

Bazel ビルドシステムを使用してビルドされたプロジェクトを解析するために、Linux ではビルド統合コマンドの kwbazelAndroidでは --bazel オプションを使用することができます。Kwbazel コマンドは C/C++、C#、Javaプロジェクトのビルド統合をサポートし、ビルド構築時にユーザがカスタマイズしたコンパイルニーモニックの処理を可能にします。Bazel の _virtual_includes もサポートされます。

指摘リストを CSV としてダウンロードする

指摘リストを CSV ファイルとしてダウンロードできるようになりました。[CSV ダウンロード] ボタンは、指摘ページの上部にあります。

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

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

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

このリリースには、Klocwork チェッカーを MISRA C++:2023 標準にマッピングする新しい分類基準が含まれています。

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

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

  • C および C++ 用 CWE

  • MISRA C++:2023

プラグインおよび拡張機能

Visual Studio Code

時間を節約するために、Visual Studio Code はビルドスペック全体を分析するのではなく、ファイルを開いたり変更したりするときに差分分析を実行します。

Visual Studio

ステータスバーと情報バーが改善され、重要な情報が強調表示され、視覚的に見やすくなりました。

チェッカーの改善

新しいチェッカー

このリリースではチェッカーは追加されませんでした。

変更されたチェッカー

チェッカー 説明
バッファーオーバーフローチェッカー 追加の欠陥を検出する
INVARIANT_CONDITION.UNREACH 誤検知の検出が少なくなる
MISRA.EXPR.PARENS.REDUNDANT 追加の欠陥を検出する
NPD.FUNC.MUST 追加の欠陥を検出する
SV.BRM.HKEY_LOCAL_MACHINE 全体的な改善
SV.STRBO.BOUND_COPY.UNTERM 全体的な改善

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

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

分類基準の改善

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

分類基準 改善

cwe_all_cxx.tconf と cwe_all_cxx_ja.tconf

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

  • CWE-126

  • CWE-192

  • CWE-195

  • CWE-197

  • CWE-704

Helix QAC 分類基準 Helix QAC 分類基準は、Helix QAC バージョン 2024.1 に更新しました。

misra_cpp_2023_certified.tconf および misra_cpp_2023_certified_ja.tconf

Klocwork チェッカーを MISRA C++:2023 標準にマッピングする新しい分類基準を追加しました。

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

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

  • Clang

  • Clang-cl

  • Tasking Tricore

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

ライセンス

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

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

このリリースでは、Klocwork での RLM ドングルの使用に関する追加情報が提供されます。詳細については、サポートされる RLM のバージョンおよび RLM ドングルをサポートするオペレーティングシステムを参照してください。

システム要件の変更

このリリースでは、以下のサポートが中止されました。

  • AlmaLinux 9.3

  • Amazon Linux 2 (2.0.20240124.0 Update)

  • Android Studio Giraffe 2022.3.1 パッチ 4、Hedgehog 2023.1.1 パッチ 4、Iguana 2023.2.1 RC2

  • Chrome 111.x ~ 122.x

  • CLion 2023.1.6、2023.2.3

  • Debian 11.9

  • Eclipse 4.30 (2023-12)

  • Fedora 39

  • Firefox 111.x ~ 122.x、115.x ESR

  • Gradle 8.6

  • IntelliJ IDEA 2023.1.6、2023.2.6

  • Jenkins 2.445

  • Microsoft Edge 111.x ~ 121.x

  • Oracle Linux 9 ~ 9.3

  • Red Hat Enterprise Linux 9 ~ 9.3

  • Rocky Linux 9.3

  • Visual Studio 2017 バージョン 15.9.60、2019 バージョン 16.11.34、2022 バージョン 17.9.0

  • Visual Studio Code 1.76.2 ~ 1.84.1

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

  • Chrome 109.x ~ 110.x

  • Fedora 37

  • Firefox 107.x ~ 110.x

  • Microsoft Edge 108.x ~ 110.x

  • Visual Studio Code 1.74.3 ~ 1.76.1

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

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

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

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

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

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

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

指摘のグループ化の中止

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

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