コーディング規約違反のチェックおよびレビュー
Polyspace® では、C/C++ コードに MISRA C™:2023、MISRA C++:2023、AUTOSAR C++:14 などのさまざまな外部コーディング規約に対する違反がないかどうかをチェックできます。サポートされている規約のリストについては、コーディング規約を参照してください。コーディング規約に従うことにより、欠陥の数を減らしてコードの品質を改善することができます。
サポートされているコーディング規約で事前定義されている一連のコーディング ルールの違反をチェックできます。または、必要なコーディング ルールを自分で選択することもできます。
コーディング規約ユーザー インターフェイスの構成
Polyspace Platform ユーザー インターフェイスでコーディング規約違反のチェックを構成するには、[チェッカーの選択] ダイアログ ボックスを開きます。
[プロジェクト] ペインの [構成] ノードをダブル クリックします。
[静的解析] タブで [欠陥とコーディング規約] を選択します。[カスタム チェッカー ファイルを使用] を選択し、オプション [チェッカー アクティベーション ファイル] の横にある [開く] (
) をクリックします。
[チェッカーの選択] ダイアログ ボックスで、サポートされているコーディング規約からコーディング ルールを選択します。MISRA C:2023 や MISRA C++:2023 などの一部のコーディング規約では、[必須]、[必要]、[報告] などの事前定義済みのサブセットがサポートされます。これらの事前定義済みのサブセットからルールを選択するには、該当するチェックボックスをオンにします。または、個々のコーディング ルールを有効にすることもできます。フィルターを使用して、有効にするルールを見つけます。
コーディング ルールを有効にしたら、再利用可能なチェッカー アクティベーション ファイル (
.xml) として選択を保存します。
[チェッカーの選択] ダイアログ ボックスでは、コーディング ルールの有効化のほかに、以下の操作を行うことができます。
コーディング ルールにコメントを追加する。追加したコメントは、解析実行後に結果のレビューに表示されます。コメントを使用して、結果の並べ替えに使用できる追加情報を付加できます。
[ガイドライン] チェックに対するしきい値を構成する。Polyspace チェッカーを使用してソフトウェアの複雑度を低減するを参照してください。
カスタム ルールのパターンと規則を構成する。C/C++ 変数および関数の命名規則の強制を参照してください。
コマンド ラインでのコーディング規約の構成
コマンド ラインでは、コーディング ルールと欠陥チェッカーを次の 2 つの方法で有効にすることができます。
チェッカー アクティベーション ファイル — 既にチェッカー アクティベーション ファイルがある場合は、それをオプション
[チェッカー アクティベーション ファイル] (-checkers-activation-file)の入力として指定します。個々のコーディング規約または欠陥に対するオプションを指定する必要はありません。アクティベーション ファイルがまだない場合は、Polyspace ユーザー インターフェイスでアクティベーション ファイルを作成し、以降のコマンド ライン解析でそのファイルを再利用します。Polyspace Bug Finder Server を実行していて、Polyspace Platform ユーザー インターフェイスへのアクセス権がない場合は、テキスト エディターでアクティベーション ファイルを作成できます。Create New Checkers Activation File Without Polyspace User Interfaceを参照してください。polyspace-bug-finder -sources src.c -checkers-activation-file my_activation.xml
規約固有のオプション — コーディング規約の個々のオプションを明示的に有効にすることもできます。このワークフローで選択できるのは、コーディング ルールの事前定義済みのサブセットのみです。たとえば、次のコマンドは、[Required] に分類されている MISRA C:2023 ルールを有効にします。
これらのオプションとその値を使用して、対応するコーディング規約のルールのサブセットを有効にすることができます。polyspace-bug-finder -sources src.c -misra-c-2023 required
MISRA C:2023 のチェック (-misra-c-2023)。生成されたコードの場合は、オプション[生成されたコードの要件を使用] (-misra-c-2023-agc-mode)を指定します。MISRA C:2012 のチェック (-misra3)。生成されたコードを解析する場合は、オプション[生成されたコードの要件を使用] (-misra3-agc-mode)を指定します。
コーディング ルール違反のレビュー

解析後、[結果のリスト] ペインにコーディング規約違反が表示されます。違反を選択すると [結果の詳細] ペインに詳細が表示され、[ソース コード] ペインにソース コードが表示されます。
コーディング規約違反は、ソース コード内では
アイコンで示されます。
詳細な手順は、結果のレビューとレポート生成または解析結果のレビュー (Polyspace Access)を参照してください。
レポートの生成
CodingStandards テンプレートを使用してコーディング規約違反のレポートを生成できます。これは、コーディング規約に合わせて明示的に定義されています。これは次のようなテンプレートです。
解析結果のコーディング規約違反のみを報告し、欠陥、ランタイム エラー、コード メトリクスなど他の種類の結果を省略。
コーディング規約ごとにレポート内に個別の章を作成する。各章ではすべての規約違反の概要を示してから、それぞれの違反をリストする。
解析実行後にレポートを生成する方法については、Polyspace Platform ユーザー インターフェイスでの Bug Finder または Code Prover の結果からのレポートの生成を参照してください。