メインコンテンツ

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

Polyspace Code Prover でのオレンジ チェックの管理

Polyspace® は、特定のランタイム エラーに対し、コードのすべての操作をチェックします。したがって、検証結果には複数のオレンジ チェックが含まれることがあります。オレンジ チェックのレビューに過剰な時間を費やさないように、効率的なレビュー プロセスを策定しなければなりません。

ソフトウェア開発の段階および品質目標の段階に応じて、以下を選択できます。

ソフトウェアの開発段階

開発段階状態レビュー プロセス
初期段階またはユニット開発段階

開発の初期段階では、部分的に開発したコードを所有しているか、各ソース ファイルを個別に検証する場合があります。この場合、以下の可能性があります。

  • すべての関数およびクラス メソッドを定義していない。

  • main 関数がない

コードに情報が不足しているため、Polyspace による仮定から多くのオレンジ チェックが生じます。たとえば、既定の構成を使用する場合、Polyspace は、コード内で呼び出されていない関数の入力に対し、すべての範囲を仮定します。

開発の初期段階では、すべてのレッド チェックをレビューします。オレンジ チェックについては、要件に応じて以下のいずれかを行います。

  • 部分的にコードを開発している場合、残りのコードに依存せずにエラーのない状態にしたい場合。たとえば、すべての入力に対し関数のランタイム エラーが発生しないようにするとします。

    その場合、この段階でオレンジ チェックをレビューします。

  • 部分的にコードを開発している場合、残りのコードのコンテキストだけはエラーのない状態にしたい場合があります。

    その場合、次のいずれかを行います。

    • この段階でオレンジ チェックを無視する。

    • コンテキストを提供してから、オレンジ チェックをレビューする。たとえば、未定義の関数にスタブを提供し、より適切に関数をエミュレートする。

      詳細は、検証用のコンテキストを提供するを参照してください。

後期の段階または統合段階

開発の後期段階では、すべてのソース ファイルが提供されています。しかし、コードが検証に必要なすべての情報を含んでいない可能性があります。たとえば、実行時にのみ値が既知になる変数がある場合です。

必要な時間に応じて、以下のいずれかを行います。

  • レッド チェックのみをレビューする。

  • レッド チェックおよび重要なオレンジ チェックをレビューする。

最終段階

  • すべてのソース ファイルが提供されている状態です。

  • 検証オプションを介し、適切にランタイム環境をエミュレートしています。

必要な時間に応じて、以下のいずれかを行います。

  • レッド チェックおよび重要なオレンジ チェックをレビューする。

  • レッド チェックおよびすべてのオレンジ チェックをレビューする。

各オレンジ チェックについて:

  • チェックがランタイム エラーを示している場合、エラーの原因を修正する。

  • チェックが Polyspace 近似を示している場合、結果またはソース コードにコメントを入力します。

最終リリース プロセスの一部として、これらの基準の 1 つを採用できます。

  • すべてのレッド チェックおよび重要なオレンジ チェックは、レビューされた上で正当化されなければならない。

  • すべてのレッド チェックおよびすべてのオレンジ チェックは、レビューされた上で正当化されなければならない。

チェックを正当化するには、[No action planned] または [Justified][ステータス] 列に割り当てます。

品質目標

重要なアプリの場合、すべてのレッド チェックおよびオレンジ チェックをレビューしなければなりません。

  • オレンジ チェックがランタイム エラーを示している場合、エラーの原因を修正します。

  • オレンジ チェックが Polyspace 近似を示している場合、結果またはソース コードにコメントを入力します。

最終リリース プロセスの一部として、すべてのレッド チェックおよびすべてのオレンジ チェックをレビューし、正当化します。チェックを正当化するには、[No action planned] または [Justified][ステータス] 列に割り当てます。

重要性の低いアプリの場合、重要でないオレンジ チェックをレビューするか否かを選択できます。

参考

トピック