コードの動作の指定
変数範囲、ライブラリの使用、その他の情報などのコードの動作を指定して、Polyspace® Bug Finder™ 解析における誤検知または検知漏れの結果を削減する
誤検知または検知漏れの結果を削減するには、コードに関する追加情報を提供します。以下に例を示します。
オプション
[制約の設定] (-data-range-specifications)を使用して、変数の範囲やポインターに許容されるバッファー サイズなどの要素に対する制約を指定します。-code-behavior-specificationsを使用して、コードの関数を既知の標準ライブラリ関数にマッピングします。-code-behavior-specificationsを使用して、コードで許可しない識別子またはマクロを指定します。オプション
-asm-begin -asm-endを使用して、アセンブリ コードの境界を指定します。オプション
-code-behavior-specificationsを使用して、異なる方法で解析する必要があるコードを指定します。たとえば、リアルタイム関数、メモリ管理関数、例外処理関数、クリティカルなデータ メンバーを含むコードを指定できます。Simulink® モデルから生成されたコードを解析するときに、データ フローを正確にモデル化するためにパラメーター、入力、ステップ関数を指定します。
ここに記載する解析オプションを使用して、Polyspace Bug Finder に対してコードをより詳細に記述すると、解析の精度と速度を向上させることができます。
Polyspace オプション
トピック
追加情報の提供
- Modify Bug Finder Checkers Through Code Behavior Specifications
Change Polyspace interpretation of code elements such as functions by assigning code behaviors in XML or Datalog format. - Bug Finder チェッカーを使用した非推奨の関数または安全でない関数、キーワード、またはマクロのフラグ設定
関数、キーワード、およびマクロのブロックリストを作成し、そのリスト内の項目の使用をチェックする。 - 標準ライブラリ関数用の Bug Finder チェッカーのカスタム ライブラリへの拡張
定義域エラーやその他の問題を検出できるように、カスタム ライブラリ関数を同等の標準ライブラリ関数にマッピングする。 - サポートされていないマルチスレッド環境への同時実行欠陥チェッカーの拡張
既定でサポートされていないマルチスレッド環境でデータ レースやその他の同時実行の問題を見つける。 - Extend Data Race Checkers to Atomic Operations
Find data races in operations that are assumed to be atomic by Bug Finder.
外的制約の指定
- Polyspace 解析の外的制約の指定
解析精度を上げるために変数の範囲とポインターの指定を制限する。 - Polyspace 解析の外的制約
グローバル変数、関数の入力、およびスタブ関数に適用できる制約を確認する。 - Polyspace 解析制約の XML ファイル形式
XML を直接編集する場合に、制約指定用の XML ファイルの指定方法を調べる。