Rust の初回統合ビルド解析を実行する

このトピックでは、以下の方法について学習します。

Rust サポートを有効にする

Rust サポートを有効にするには、以下のようにします。

  1. プラットフォームに適した kwrust ZIP アーカイブをダウンロードします。

  2. 既存の Klocwork ビルドツールまたはコマンドラインツールインストール (バージョン 2026.1 以降) に ZIP を直接抽出します。

抽出すると、Rust ツールのサポートが追加され、kwfilter.conf による rustc コンパイラマッピングが有効になります (既存のバージョンが上書きされます)。

Rust プロジェクトを解析する

アドオンがインストールされると、他の言語と同じワークフローに従って Rust プロジェクトを解析できるようになります。

Kwcheck の使用例:

コピー
kwinject --overwrite sh -c 'cargo clean && cargo build'
kwcheck create
kwcheck set license.host=<license host>
kwcheck import kwinject.out
kwcheck run --rebuild
kwcheck list

注記:

  • 現在、build specification (ビルドスペック) を生成する場合は --overwrite フラグが必要です。

  • すべてのビルトイン‑Klocwork Rust チェッカーはデフォルトで有効になります。この動作は将来のリリースで進化する可能性があります。

Validate で Rust チェッカーを構成する

Klocwork には、ネイティブ Rust チェッカーと Clippy‑ベースのチェッカーという 2 種類の Rust チェッカーが含まれています。デフォルトでは、Rust は、適切な分類基準がロードされるまでは Validate の UI に言語としてリストされません。

Rust チェッカーを有効にするには、以下のようにします。

  1. プロジェクトの [構成] タブに移動します。

  2. ネイティブ Rust チェッカーの場合は、taxonomies/rs.base.tconf をロードします。

  3. Clippy ベースのチェッカーの場合は、taxonomies/rs_clippy.tconf をロードします。

Rust が構成パネルに言語として表示され、それぞれのチェッカーを有効/無効にすることができるようになります。

拡張構成を実行する

Klocwork が Rust プロジェクトアーティファクトに影響を与えないようにする

デフォルトで、Klocwork は Rust プロジェクトをインプレースで再コンパイルします。つまり、生成されたアーティファクトの一部が置き換えられるということです。プロジェクトで cargo を使用する場合は、buildspec テンプレート変数を使用してこれを防ぐことができます。

以下の手順を実行してください。

  1. Kwinject を実行します。

    kwinject -w -o buildspec.tpl --variable RUST_TARGET=/absolute/path/to/target sh -c 'cargo clean && cargo build'
  2. kwbuildproject を実行します。

    kwbuildproject -V RUST_TARGET=/absolute/path/to/another/folder -o tables buildspec.tpl
  3. kwcheck を実行します。

    kwcheck import buildspec.tpl
    kwcheck set-var RUST_TARGET=/absolute/path/to/another/folder
    kwcheck run --rebuild

追加のコンパイラまたは解析オプションを渡す

C/C++ と同様に、以下のオプションを使用して、追加の Rust 固有のコンパイラまたは解析フラグを渡すことができます。

  • --add-rs-compiler-options

  • --add-rs-analysis-options

CLEF タイムアウトを無効にするには、以下の例を参照してください。

kwbuildproject --add-rs-analysis-options "--clef-option --lef-time-limit=-1"