メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Polyspace 解析のオプション ファイル

Polyspace 解析構成を開発環境と要件に適応させるには、-compiler などのコマンド ライン オプションを使用して既定の構成を変更しなければなりません。オプション ファイルは、複数のオプションを 1 つにまとめてプロジェクト間で再利用するための便利な方法です。

オプション ファイルとは

オプション ファイルは、1 行につき 1 つのオプションを含むテキスト ファイルです。たとえば、オプション ファイルの内容は以下のようになります。

# Options for Polyspace analysis
# Options apply to all projects in Controller module
-compiler visual16.x
-D _WIN32
-code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
先頭に # がある行はコメントです。コードを読みやすくするのに役立ちます。このような行は解析中は無視されます。

オプション ファイルの指定

解析を実行するプラットフォームに応じて、次のいずれかの方法でオプション ファイルを指定できます。

コマンド ライン

コマンド ライン (およびスクリプト) では、オプション ファイルをオプション -options-file への引数として指定します。

たとえば、

polyspace-bug-finder -sources file.c -compiler visual16.x -D _WIN32 -code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
というコマンドの代わりに
-compiler visual16.x
-D _WIN32
-code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
という内容をパス Z:\utils\polyspace\ のファイル options.txt に保存すると、コマンドを次のように短くできます。
polyspace-bug-finder -sources file.c -options-file "Z:\utils\polyspace\options.txt"

次の Polyspace コマンドでオプション ファイルを使用できます。

  • polyspace-bug-finder

  • polyspace-bug-finder-server

  • polyspace-bug-finder-access

  • polyspace-code-prover

  • polyspace-code-prover-server

IDE

IDE の拡張機能を使用して Polyspace as You Code を実行している場合、通常はオプションのグループを 3 つ、異なる形式で指定します。

オプション グループ拡張機能設定

ビルド オプション:ビルド コマンドや JSON コンパイル データベースなどの既存のアーティファクトからビルド オプションを抽出することができます。

オプション ファイルにすべてのビルド オプションをまとめて、該当する拡張機能設定でそのオプション ファイルのパスを指定することもできます。

  • Visual Studio Code — [Analysis Options] > [Manual Setup] > [Build Setting :Polyspace Build Options File]

  • Visual Studio — [Get from Polyspace build options file] ([Build Configuration] セクション内)

  • Eclipse — [Get from Polyspace build options file] ([Build Configuration] セクション内)

チェッカー:チェッカーの選択ウィザードを使用してチェッカーを選択できます。

Polyspace as You Code でのチェッカーの設定を参照してください。

その他のオプション:残りのすべてのオプションは、該当する拡張機能設定に渡される 2 番目のオプション ファイルにまとめることができます。

  • Visual Studio Code — [Analysis Options] > [Manual Setup:Other Analysis Options]

  • Visual Studio — [Analysis Options] > [Other Analysis Options File]

  • Eclipse — [Analysis options file]

ビルド オプションとその他のオプションの両方にオプション ファイルを使用する場合、解析結果はビルド オプションにその他のオプションを追加した単一のオプション ファイルを指定した場合と同じになります。複数のオプション ファイルの指定も参照してください。

IDE 拡張の詳細については、以下を参照してください。

Polyspace ユーザー インターフェイス

Polyspace デスクトップ製品のユーザー インターフェイスでは通常、オプション ファイルは必要ありません。ほとんどのオプションは、Polyspace ユーザー インターフェイスの [構成] ペインで指定できます。

ただし、一部のオプションはコマンド ライン以外では使用できず、ユーザー インターフェイスに対応する項目はありません。複数のコマンド ライン専用オプションを指定する必要がある場合には、オプション ファイル (例: commandLineStyleOptions.txt) にまとめることができます。[構成] ペインの [詳細設定] ノードで、[その他] フィールドにオプション ファイルの絶対パスを指定します。

-options-file C:\psconfig\commandLineStyleOptions.txt

複数のオプション ファイルの指定

1 つの解析に複数のオプション ファイルを指定できます。たとえば、コマンド ラインで次のように入力します。

polyspace-bug-finder -sources file.c -options-file opts1.txt -options-file opts2.txt

1 つの解析に複数のオプション ファイルを指定すると、それらのオプション ファイル内のすべてのオプションが解析コマンドに追加されます。たとえば上記のコマンドには、opts1.txt の内容のあとに opts2.txt の内容が続く 1 つのオプション ファイルを使用する場合と同じ効果があります。

複数のファイルに同じオプションが出現して引数が競合する場合、最後のオプション ファイルの引数が有効になります。たとえば、上記のコマンドで opts1.txt の内容が

-checkers all
-misra3 all
となっていて、opts2.txt の内容が
-misra3 single-unit-rules
となっている場合、解析ではオプション -misra3 に引数 single-unit-rules のみが使用されます。

このようにオプション ファイルを指定する順番を利用して、オプションをオーバーライドできます。たとえばチーム全体に適用する読み取り専用オプション ファイルの、一部のオプションのオーバーライドが必要だとします。2 番目のオプション ファイルを作成して、チーム全体のオプション ファイルの "後に" 自分のオプション ファイルを指定すると、このオプションをオーバーライドできます。

同様の方法で、オプション ファイル内でオプション -options-file を指定し、複数のオプション ファイルを集約することもできます。

参考

トピック