コマンド ラインから Polyspace as You Code を実行して、結果をエクスポートする
コマンド ラインで直接、ソース ファイルに対して Polyspace as You Code を実行できます。
Polyspace as You Code プラグインで直接サポートされていない IDE の場合は、IDE 内でターミナルを開いてコマンドを実行するか、IDE で現在開いているファイルに対してコマンドを実行するためのメニュー項目を作成することができます。さらに、これらのコマンドを makefile に組み込むこともできます。こうすると、コードをビルドするとコードの静的解析も実行されます。Integrate Polyspace as You Code in IDEs and Editors Without Pluginsも参照してください。
インストール フォルダーをパスに追加する
Polyspace as You Code コマンドの絶対パスを入力しなくても済むようにするには、これらのコマンドのパスを、オペレーティング システム上の PATH 環境変数に追加します。
既定のインストール フォルダー内でのパスは次のとおりです。
| Windows® | C:\Program Files\Polyspace as You Code\R2025b\polyspace\bin |
| Linux® | /usr/local/PolyspaceAsYouCode/R2025b/polyspace/bin |
パスを追加した後は、ターミナルで次のようにコマンドを入力しても、エラーは発生しません。
polyspace-bug-finder-access -help
解析を実行して、コンソールで結果を確認する
Polyspace as You Code を実行するには、polyspace-bug-finder-access コマンドを使用します。polyspace-results-export コマンドを使用して、結果をコンソールにエクスポートします。
polyspace-bug-finder-access -sources filename polyspace-results-export -format console
polyspace-bug-finder-access コマンドで、現在のフォルダー内に結果を生成します。polyspace-results-export コマンドで、現在のフォルダーから結果を読み取ってコンソールにエクスポートします。console 形式は、Polyspace as You Code でのみ使用できます。通常は、解析が完了するまでに数秒 (C++ ファイルの場合よりわずかに長い時間) かかります。解析を完了できなかった場合は、エラーの詳細がコンソールに表示されます。オプション -no-quiet を使用すると、コンソールに詳細な解析ログを表示できます。
結果を特定のフォルダーに保存する
現在のフォルダーではなく特定の結果フォルダー を使用するには、上記の行を次のように変更します。resultsFolder
polyspace-bug-finder-access -sources filename -results-dir resultsFolder polyspace-results-export -format console -results-dir resultsFolder
結果を JSON 形式にエクスポートする (SARIF 出力)
解析結果をコンソールに表示する代わりに、JSON ファイルにエクスポートできます。このファイルは、任意の言語で JSON パーサーのメソッドを使用して解析できます。
polyspace-bug-finder-access -sources filename.c polyspace-results-export -format json-sarif -output-name outputFilePath
outputFilePath は JSON ファイルの絶対パスです。JSON 形式は、OASIS Static Analysis Results Interchange Format (SARIF) で指定された標準表記法に従います。
オプション ファイルを使用して解析オプションを指定する
Polyspace 解析構成を開発環境と要件に適応させるには、-compiler などのコマンド ライン オプションを使用して既定の構成を変更しなければなりません。オプション ファイルは、複数のオプションを 1 つにまとめてプロジェクト間で再利用するための便利な方法です。
オプション ファイルは、1 行につき 1 つのオプションを含むテキスト ファイルです。たとえば、オプション ファイルの内容は以下のようになります。
# Options for Polyspace analysis # Options apply to all projects in Controller module -compiler visual16.x -D _WIN32 -checkers-activation-file "Z:\utils\checkers.xml"
オプション -options-file を使用してオプション ファイルを指定します。次に例を示します。
polyspace-bug-finder-access -sources file.c -options-file "Z:\utils\polyspace\options.txt"
Polyspace 解析のオプション ファイル (Polyspace Bug Finder)も参照してください。Polyspace as You Code で使用できるすべてのオプションについては、Polyspace Bug Finder 解析エンジンのすべてのオプションのリスト (Polyspace Bug Finder)を参照してください。
ビルドを解析してオプション ファイルを作成する
オプション ファイルにオプションを手入力する代わりに、ビルド システムを解析して、コンパイルに必要なすべての Polyspace オプションを含むオプション ファイルを作成できます。たとえば、ビルド コマンドをトレースしてオプションをファイル buildOptions.txt に保存し、このファイルを以降の解析で使用することができます。
polyspace-configure -no-sources -output-options-file buildOptions.txt buildCommand polyspace-bug-finder-access -sources file.c -options-file buildOptions.txt
buildCommand はソース コードのフル ビルドを実行するビルド コマンドです (make -B、make --always-make など)。JSON コンパイル データベース形式でコンパイル オプションを出力できるビルド システムの場合は、JSON ファイルからオプションを取得できます。polyspace-configure -no-sources -output-options-file buildOptions.txt -compilation-database jsonFile
jsonFile はコンパイル データベース JSON ファイルの絶対パスです。チェッカーなどの解析関連のオプションを含めた 2 つ目のオプション ファイルを追加することもできます。たとえば、2 つ目のオプション ファイルの名前が checkersOptions.txt の場合、Polyspace as You Code を実行するには次のコマンドを使用します。
polyspace-bug-finder-access -sources file.c -options-file buildOptions.txt -options-file checkersOptions.txt
参考
polyspace-bug-finder-access | polyspace-results-export (Polyspace Bug Finder) | polyspace-configure (Polyspace Bug Finder)
トピック
- Polyspace 解析のオプション ファイル (Polyspace Bug Finder)
- Integrate Polyspace as You Code in IDEs and Editors Without Plugins