メインコンテンツ

次の関数の入力を考慮する (-system-inputs-from)

解析が考えられるすべての入力値を考慮する関数を指定する

説明

このオプションは Bug Finder 解析のみに影響します。

Polyspace® が考えられるすべての入力値を考慮する関数をコードで指定します。このオプションを使用して指定された関数ごとに、解析は以下の考えられるすべての入力値を考慮します。

  • 関数の引数。

  • 関数またはその呼び出し先のいずれかによるグローバル変数の読み取り。

    main() 関数の場合は、解析でグローバル変数が 0 に初期化されるものと仮定されます。

  • 関数またはその呼び出し先のいずれかによる volatile 変数の読み取り。

  • スタブ関数の戻り値。Bug Finder 解析は、ソース コードで関数の本体が指定されなかった場合に関数をスタブします。

  • 次のような絶対アドレスからの読み取り。

    int value = *((int*)0x1234);

オプションの設定

以下のいずれかの方法を使用してオプションを設定します。

  • Polyspace ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [Bug Finder 解析] ノードを選択してから、このオプションの値を選択します。

  • Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [欠陥とコーディング規約][チェッカー動作] ノードを選択してから、このオプションの値を選択します。

  • コマンド ラインとオプション ファイル: オプション -system-inputs-from を使用します。コマンド ライン情報を参照してください。

このオプションを使用する理由

既定で、Polyspace は、main() 関数とタスク (ある場合) に対して、または、コードに main() が含まれていない場合の呼び出し先が 1 つ以上の呼び出されない関数に対して、考えられるすべての入力値を考慮します。より厳格なチェックを実行して調査している問題に応じて、別の関数のサブセットを解析するように指定します。

設定

既定値: auto

auto

main() 関数とタスク (ある場合) への考えられるすべての入力値を考慮します。次のオプションを使用してタスクを指定します。

解析するコードに main() が含まれていない場合、解析では、呼び出し先を 1 つ以上持つ、呼び出されていない関数への考えられるすべての入力値を考慮します。

uncalled

呼び出されていないすべての関数への考えられるすべての入力値を考慮します。

all

すべての関数への考えられるすべての入力値を考慮します。

custom

関数名を入力するか、一覧から選択します。

  • をクリックしてフィールドを追加し、関数名を入力します。

  • をクリックして、コード内の関数の一覧を表示します。その一覧から関数を選択します。

依存関係

このオプションは、[システムのすべての入力値を考慮する、さらに厳密なチェックを実行] (-checks-using-system-input-values) が有効になっている場合にのみ有効になります。

ヒント

  • 解析では、外部ソースから値を読み取るこれらの標準ライブラリ関数がスタブ関数として扱われます。

    • getchar

    • getc

    • fgetc

    • scanf

コマンド ライン情報

パラメーター: -system-inputs-from
値: auto | uncalled | all | custom
既定値: auto
例 (Bug Finder): polyspace-bug-finder -sources file_name -checks-using-system-input-values -system-inputs-from custom=func1,func2
例 (Bug Finder Server): polyspace-bug-finder-server -sources file_name -checks-using-system-input-values -system-inputs-from custom=func1,func2

バージョン履歴

R2020a で導入