Polyspace Bug Finder でサポートされている MISRA の決定可能なコーディング ルール
MISRA™ C 規約および C++ 規約では、生じ得るすべてのケースで静的に強制可能なルールが "決定可能" として分類されます。次の表に、各種 MISRA 規約の決定可能なコーディング ルールに対するPolyspace® のサポートをまとめます。
| 規約 | Polyspace がサポートする決定可能なガイドラインの数 | 規約の決定可能なガイドラインの数 |
|---|---|---|
| MISRA C™:2023 | 149 | 149 |
| MISRA C:2012 | 149 | 149 |
| MISRA C++:2023 | 156 | 156 |
静的に強制可能な MISRA C:2012 命令および MISRA C:2023 命令はありません。Polyspace は決定可能なルールのチェック時にデータ フローを無視します。決定可能なルール チェッカーは、到達不能コードについて報告できます。
これらのサブセットに属する各種 MISRA 規約の決定可能なコーディング ルールを確認するには、次のようにします。
[チェッカーの選択] ダイアログ ボックスを開きます。
Polyspace デスクトップ ユーザー インターフェイスの [構成] ノードで [静的解析] タブを見つけます。
[欠陥とコーディング規約] で、
[カスタム チェッカー ファイルを使用]を選択します。[チェッカー アクティベーション ファイル] (-checkers-activation-file)の横にある [開く] をクリックします。
あるいはコマンド ラインでコマンド
polyspace-checkers-selectionを使用します。新しいチェッカー ファイルを作成するため、[チェッカーの選択] ウィンドウで [新規] をクリックします。必要に応じて、すでに選択されているコーディング ルールを選択解除します。
ルールを静的強制可能性に基づいて分類しない MISRA C++:2008 以外の MISRA コーディング規約を選択します。
システムで決定可能なコーディング ルールを選択するには [Decidable] を選択します。
選択したルールを XML ファイルとして保存します。
XML ファイルには、MISRA により決定可能として分類されるコーディング ルールがリストされています。