このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
データ フロー チェック
変数読み取り、関数の戻り値および条件付きステートメントのチェック
Polyspace® Code Prover™ のデータ フロー チェックでは、プログラム内の情報のフローに関連するランタイム エラーがないかチェックします。次に例を示します。
読み取られる変数が初期化されているかどうか。
条件ステートメントの分岐が到達可能かどうか。
関数が実行時に呼び出されるかどうか。
Polyspace 結果
呼び出されていない関数 | 関数が定義済みですが呼び出されません。 |
到達不能の関数 | 関数がコードの到達不能箇所から呼び出されています。 |
初期化コードでグローバル変数に値が割り当てられていません | プログラムの初期化セクションでグローバル変数に値が割り当てられていない |
未初期化ローカル変数 | ローカル変数が読み取り前に初期化されない |
未初期化ポインター | ポインターが読み取り前に初期化されない |
未初期化変数 | ローカル変数以外の変数が読み取り前に初期化されない |
初期化されていない戻り値 | 値を戻すはずの C 関数が値を戻さない |
到達不能コード | コードが実行中に到達できません。 |
トピック
- 呼び出されていない関数チェックのレビューと修正
関数が
main
または別のエントリ ポイントから始まる呼び出しグラフに表示されない理由を調べる。 - 到達不能な関数チェックのレビューと修正
関数の呼び出しサイトを特定し、それが到達不能コードに出現する理由を調べる。
- 初期化されていない戻り値チェックのレビューと修正
関数本体全体を調べて
return
ステートメントで終了しないパスを特定する。 - 未初期化ローカル変数チェックのレビューと修正
変数が事前に初期化されていれば検出して、プログラムがその初期化をバイパスする可能性があるかどうか確認する。
- 未初期化ポインター チェックのレビューと修正
ポインターが事前に初期化されていれば検出して、プログラムがその初期化をバイパスする可能性があるかどうかを確認する。
- 未初期化変数チェックのレビューと修正
グローバル変数が事前に初期化されていれば検出して、プログラムがその初期化をバイパスする可能性があるかどうかを確認する。
- 到達不能コード チェックのレビューと修正
コード内の条件付きステートメントが冗長な理由 (たとえば常に ture または false になるなど) を調べる。
- コード内の変数間の関係の検出
任意の操作に含まれる変数が前の操作に関連しているかどうかを判断する。