このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB Coder によって生成された C/C++ コードの Polyspace 検証
MATLAB® コードから生成された C/C++ コードのランタイム エラーをチェックするには、Polyspace® Code Prover™ を使用できます。欠陥をチェックするには、Polyspace Bug Finder™ を使用できます。Polyspace と Embedded Coder® を使用している場合、Polyspace は MATLAB Coder™ ワークフローに統合されます。コマンド ラインでは、codegen
によるコード生成後に、pslinkrun
(Polyspace Bug Finder) にコード生成出力フォルダーを指定することで、生成されたコードに対して Polyspace 解析を実行できます。
R2025a において: Polyspace は新しい MATLAB Coder アプリと統合されません。このトピックに示されているように、MATLAB スクリプトを使用して Polyspace 解析を実行します。
codegen
によって生成されたコードに対する Polyspace 解析の実行
MATLAB Coder によって生成されたコードを検証するための
pslinkoptions
オブジェクトを作成します。必要に応じて、オブジェクト プロパティを変更します。
ResultDir
プロパティで、Polyspace の結果用フォルダーの名前を指定します。VerificationMode
プロパティで、Polyspace 検証製品を指定します。
pslinkrun
を使用して検証を実行します。pslinkoptions
オブジェクトと、生成コードが含まれるフォルダーを指定します。検証結果を表示するには、Polyspace ユーザー インターフェイスを開きます。
たとえば、MATLAB 関数 myFunction
のスタティック ライブラリを生成しており、コード生成出力フォルダーが codegen/lib/myFunction
であるとします。生成されたコードに対して Polyspace Code Prover を実行するには、次のコードを使用します。
opts = pslinkoptions('codegen'); opts.ResultDir = 'polyspace'; opts.VerificationMode = 'CodeProver'; pslinkrun('-codegenfolder', 'codegen/lib/myFunction', opts); polyspaceCodeProver('polyspace/myFunction.psprj');
VerificationMode
プロパティを 'BugFinder'
に設定し、polyspaceBugFinder
を使用して検証結果を表示することもできます。
解析結果の確認
Polyspace ユーザー インターフェイスの [結果のリスト] ペインで、実行時チェックを確認します。問題から元の MATLAB コードにトレースできるかどうかを確認します。Interactively Trace Between MATLAB Code and Generated C/C++ Codeを参照してください。
たとえば、Polyspace では関数入力の範囲が無制限であるとみなされるため、C コードの演算がオーバーフローする可能性があります。入力に対して制約を指定し、Polyspace でコードを再解析することを検討してください。MATLAB コードから生成された C/C++ コードに対する Polyspace の実行 (Polyspace Code Prover)を参照してください。
参考
pslinkoptions
(Polyspace Code Prover) | pslinkrun
(Polyspace Code Prover)
トピック
- MATLAB コードから生成された C/C++ コードに対する Polyspace の実行 (Polyspace Code Prover)
- MATLAB Coder を使用して生成されたコードに対する Polyspace 詳細オプションの構成 (Polyspace Code Prover)
- Generate C/C++ Code with Improved MISRA and AUTOSAR Compliance