メインコンテンツ

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

MISRA C:2012 のチェック (-misra3)

MISRA C:2012 ルールおよび命令に対する違反のチェック

説明

MISRA C™:2012 ガイドラインに対する違反をチェックするかどうかを指定します1 オプションの各値はチェックすべきガイドラインのサブセットに対応します。

オプションの設定

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

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

このオプションを使用して、チェックする 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-rules

single-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 など) が生成されなくなります。

ヒント

コマンド ライン情報

コマンド ラインでコマンド -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 file_name -misra3 mandatory-required
例 (Bug Finder Server): polyspace-bug-finder-server -lang c -sources file_name -misra3 mandatory-required

または、チェッカー アクティベーション 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.