メインコンテンツ

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

スタック使用量の計算 (-stack-usage)

スタック使用量の推定値の計算と表示

R2022a 以降

説明

このオプションは Code Prover にのみ適用されます。

Polyspace® によるソース コードのスタック使用量の推定と表示を指定します。次のものが推定されます。

オプションの設定

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

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

  • Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [実行時エラー][チェック動作] ノードを選択してから、このオプションを選択します。

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

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

コードのスタック使用量の見積もりが必要な理由を以下に示します。

  • コードのスタック使用量を過少に見積もった場合、スタック オーバーフローが発生します。

  • スタック使用量を過剰に見積もった場合、メモリが浪費されます。

スタック オーバーフローやメモリの浪費を回避するには、オプション -stack-usage を使用して、コードのスタック使用量の見積もりを取得します。このオプションは、使用可能なスタック サイズで最悪のケースのスタック使用量に対応できる必要がある、セーフティ クリティカルなアプリケーションにとって特に重要です。

設定

オン

Polyspace はスタック使用量メトリクスを計算し、[結果のリスト] ペインに表示します。

オフ (既定の設定)

Polyspace はスタック使用量メトリクスを計算しません。

ヒント

  • コードのスタック使用量のみを計算する場合は、検証を [Source Compliance Checking] フェーズまで実行します。検証レベル (-to) を参照してください。

  • Code Prover 解析では、ソース準拠チェック フェーズ後にスタック使用量メトリクスを計算します。Code Prover 検証をソース準拠チェック前に停止した場合、スタック使用量メトリクスは報告されません。

  • このオプションで計算されるのは、スタック使用量に関連するコード メトリクスです。他のコード メトリクスを計算するには、Bug Finder を使用してください。コード メトリクスの計算 (-code-metrics) を参照してください。

  • オプション -code-metrics と一緒にこのオプションを使用すると、エラーが発生します。オプション -code-metrics は、将来のリリースで Code Prover から削除される予定です。コード メトリクスを計算するには、代わりに Bug Finder を使用してください。コーディング規約およびコード メトリクスをチェックする Code Prover ワークフローの Bug Finder への移行を参照してください。

  • ある関数が定義されていない場合、Code Prover はその関数が呼び出された場合にスタック サイズへの寄与がゼロであると見なします。オプション -code-behavior-specifications を使用すると、このようなスタブ関数からのスタック サイズへの寄与を明示的に指定できます。

コマンド ライン情報

パラメーター: -stack-usage
既定値: オフ
例 (Code Prover): polyspace-code-prover -sources file_name -stack-usage
例 (Code Prover Server): polyspace-code-prover-server -sources file_name -stack-usage

バージョン履歴

R2022a で導入