このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 のチェック (-misra3)
MISRA C:2012 ルールおよび命令に対する違反のチェック
説明
MISRA C™:2012 ガイドラインに対する違反をチェックするかどうかを指定します1 オプションの各値はチェックすべきガイドラインのサブセットに対応します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [コーディング規約およびコード メトリクス] ノードを選択してから、このオプションの値を選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): このオプションは、プロジェクト構成には存在していません。チェッカーを有効にするには、オプション
[カスタム チェッカー ファイルを使用]と[チェッカー アクティベーション ファイル] (-checkers-activation-file)を使用します。コマンド ラインとオプション ファイル: オプション
-misra3を使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
このオプションを使用して、チェックする MISRA C:2012 ルールのサブセットを指定します。
解析後、[結果のリスト] ペインにコーディング規約違反がリストされます。[ソース] ペインでは、Polyspace はすべてのコーディング ルール違反に対し、
シンボルを関連するキーワードまたは識別子に割り当てます。
設定
既定値: mandatory-required
mandatory必須のガイドラインをチェックします。
mandatory-required必須および必要なガイドラインをチェックします。
必須のガイドライン:コードはこのガイドラインに準拠しなければなりません。
必要なガイドライン:このガイドラインから逸脱してもかまいません。ただし、規則に従った逸脱記録を完成させなければなりません。また、逸脱に対して認定を受けなければなりません。
MISRA C:2012 ガイドラインの節 5.4 を参照してください。逸脱記録の例については、MISRA C:2012 ガイドラインの付録 I を参照してください。
メモ
必要なガイドラインの一部を無効にするには、
[mandatory-required]の代わりに[custom]を選択します。特定のガイドラインをクリアするには、
をクリックします。[コメント] 列に、ガイドラインを無効にする根拠を入力します。たとえば、ガイドラインの逸脱記録を示す逸脱 ID を入力します。根拠は、生成されたレポートに表示されます。single-unit-rules単一の翻訳単位のみに適用するルールのサブセットをチェックします。これらのルールは解析のコンパイル段階でチェックされます。
system-decidable-rulessingle-unit-rulesサブセット内のルールとプログラム ファイルのセット全体に適用する一部のルールをチェックします。追加のルールは、統合段階で適用する複雑度の低いルールです。これらのルールは複数の翻訳単位に関連するため、統合段階でのみチェックできます。これらのルールは解析のコンパイル段階およびリンク段階でチェックされます。all必須、必要、推奨ガイドラインをチェックします。
SQO-subset1ガイドラインのサブセットのみをチェックします。詳細は、MISRA コーディング規約のソフトウェア品質目標サブセットを参照してください。
SQO-subset2サブセット
SQO-subset1に加えていくつかの追加ルールをチェックします。詳細は、MISRA コーディング規約のソフトウェア品質目標サブセットを参照してください。from-fileこのコーディング規約のチェッカーのカスタム選択が設定されている XML ファイルを指定します。構成ファイルを作成するには、
をクリックして、[チェッカーの選択] ウィンドウの右側のペインから、このコーディング規約に対してチェックするルールと推奨事項を選択します。ファイルを保存します。 既存の構成ファイルを使用または更新するには、[チェッカーの選択] ウィンドウで所定のフィールドにファイルへの絶対パスを入力するか、[参照] をクリックします。
オプションを
[from-file]に設定する場合、[ファイルごとにチェッカーを設定] (-checkers-selection-file)を有効にします。
依存関係
このオプションは、
[ソース コードの言語] (-lang)が[C]または[C-CPP]に設定されている場合にのみ使用できます。C コードと C++ コードが混在しているプロジェクトで、MISRA C:2012 チェッカーが解析するのは
.cファイルのみです。[ソース コードの言語] (-lang)が[C-CPP]に設定されている場合は、C コーディング ルール チェッカーおよび C++ コーディング ルール チェッカーを有効にできます。C と C++ の両方のコーディング ルール チェッカーを有効にすると、結果の重複を回避するために、Polyspace ではリンク作成段階で検出された C コーディング ルール (MISRA C:2012 ルール 8.3 など) が生成されなくなります。
ヒント
オプション
single-unit-rulesまたはsystem-decidable-rulesを選択してコーディング ルール違反のみを検出するように選択した場合、解析はその他のルールのチェックよりも短時間で完了する可能性があります。詳細は、解析の早い段階でチェックされるコーディング ルールのサブセットを参照してください。Embedded Coder® を使用して生成されたコードには MISRA C:2012 からの既知の逸脱があります。Deviations Rationale for MISRA C Compliance (Embedded Coder)を参照してください。
コマンド ライン情報
コマンド ラインでコマンド -misra3 を使用して、MISRA C:2012 ルールの違反をチェックします。
パラメーター: -misra3 |
値: mandatory | mandatory-required | single-unit-rules | system-decidable-rules | all | SQO-subset1 | SQO-subset2 | from-file |
例 (Bug Finder): polyspace-bug-finder -lang c -sources |
例 (Bug Finder Server): polyspace-bug-finder-server -lang c -sources |
または、チェッカー アクティベーション XML ファイルを使用して、すべてのまたは特定の MISRA C:2012 ルールを有効にします。チェッカー アクティベーション ファイル (-checkers-activation-file) を参照してください。
バージョン履歴
参考
1 MISRA™ and MISRA C are registered trademarks of MIRA Ltd., held on behalf of the MISRA Consortium.

