Parasoft C/C++test
CLion から直接 Parasoft C/C++test 静的解析を実行するには、 外部ツールとして構成し、組み込みの SARIF ビューアーで検出結果を確認できます。
CLion は C/C++test のコマンドラインランチャー(cpptestcli )を呼び出し、CLion が生成するコンパイルデータベース( compile_commands.json )を読み込み、プロジェクトにレポートを書き込みます。
前提条件
Parasoft C/C++test がマシンにインストールされており、
cpptestcliランチャー(例: /home/<user>/parasoft/cpptest/cpptestcli )のパスを知っていること。 インストールやライセンスの有効化方法については、 Parasoft C/C++test インストールガイド を参照してください。EULA に同意し、ライセンスを提供し、レポートフォーマットをリストした C/C++test 設定ファイル(例: cpptest.localsettings.properties )がプロジェクトにあること。 SARIF ビューアーを使用するには、レポートフォーマットに
sarifを含めてください:report.format=html,xml,sarif report.location=./reports
外部ツールを構成します
解析スコープごとに外部ツールを定義してください。たとえば、単一ファイル解析用とプロジェクト全体解析用です。
を開きます。

追加 (
+)をクリックします。必須フィールドを入力し、 OK をクリックします。

引数
単一ファイル解析用の引数例を以下に示します:
-settings― ライセンスとレポートフォーマットを持つローカル構成ファイルです。-compiler— 使用しているツールチェーンに合致するコンパイラー構成 id です。-config― テスト構成です。 内蔵の構成を利用するか、 .properties ファイルのように"$ProjectFileDir$/[rules].properties"を指定することもできます。 上記の例では、内蔵の構成は Modern C++ 用の Parasoft 内蔵構成です。 ライセンスに MISRA C++ 2023 ルールが含まれる場合、たとえば構成は-config "builtin://MISRA C++ 2023"です。-input— ビルド時に各ファイルに使用された正確なフラグやインクルードを cpptestcli で把握できるようにするためのコンパイルデータベースです。-resource― 解析範囲を現在のファイルに限定するスコープです。 プロジェクト全体の解析ではこの引数は不要です。cpptestcli ではプロジェクトレベルがデフォルトスコープです。
解析を実行します
解析を実行するには、メインメニューから を選択します。

ランチャーの出力は ツールウィンドウに表示されます。

実行が終了すると、C/C++test はレポートを -report ディレクトリに書き込みます(例: reports/report.sarif 、 report.html 、 report.xml )。 SARIF レポートは実行ごとに上書きされます。
ツールをキーボードショートカットで実行する場合は、 の 外部ツール でショートカットを割り当ててください。
SARIF ビューアーで結果を表示します。
ツールウィンドウで生成された reports/report.sarif ファイルをダブルクリックします。 検出結果は ツールウィンドウの SARIF 解析結果 タブにツールごと、ルールごとでグループ化されて表示されます。 各結果にはルールのメッセージとそのソース箇所が示されます。

検出結果のコードを開くには、ダブルクリックするか、 Enter を押すか、コンテキストメニューで ソースに移動 を選択してください。

CLion はインポートしたレポートパスを記憶し、プロジェクト再オープン時に再読み込みします。
詳細については、 SARIF ビューアー をご参照ください。