コーディング ルールのチェックおよびコード メトリクスの構成
MISRA™、AUTOSAR、CERT®、および JSF® コーディング ルール セット、カスタム コーディング ルール、コード メトリクスを有効にする
Polyspace® Bug Finder™ を使用して、コーディング規約の違反をチェックし、コーディング メトリクスを計算できます。
コーディング ルール違反をチェックするには、[チェッカーの選択] ウィンドウを使用して一連のコーディング ルールと欠陥を有効にします。有効にした一連のチェッカーをチェッカー アクティベーション ファイル (.xml) に保存し、以降の解析でこのアクティベーション ファイルを使用します。チェッカー アクティベーション ファイル (-checkers-activation-file) を参照してください。
あるいは、特定のコーディング規約から事前に選択されているルールのセットを有効にできます。たとえば、MISRA C™:2023 の必須ルールを有効にするには、値 mandatory を指定したオプション [MISRA C:2023 のチェック] (-misra-c-2023) を使用します。
オプション [コード メトリクスの計算] (-code-metrics) を指定し、関数レベル、ファイル レベル、プロジェクト レベルのコード メトリクスを計算することもできます。このオプションでは、循環的複雑度、コメント密度、プロジェクトでの再帰の数などの一連のコード メトリクスが計算されます。
Polyspace オプション
システム コマンド
polyspace-catalog-bundler | (System Command) Create user-defined Polyspace coding standards at the DOS or UNIX command line |
トピック
チェッカーの構成
- Polyspace 解析オプションの指定
Polyspace ユーザー インターフェイス、他の IDE、またはスクリプトで Polyspace 解析オプションを設定する。 - コーディング規約違反のチェックおよびレビュー
Polyspace Bug Finder で AUTOSAR C++14、CERT C、CERT C++、CWE、MISRA C、MISRA C++、JSF AV C++、または ISO-17961 規格の違反をチェックする。 - Polyspace Bug Finder 解析用のチェッカー構成の準備
共通のチェッカー構成を展開して規約の統一を図り、欠陥チェッカーとコーディング ルール チェッカーを組み合わせる。 - Create New Checkers Activation File Without Polyspace User Interface
When Polyspace user interface is unavailable, configure checkers by creating a checkers activation file in a text editor.
MISRA ルール
- MISRA C Rule 8.x に対する違反の回避
競合する宣言や変数の意図しない変更を回避する。 - 解析の早い段階でチェックされるコーディング ルールのサブセット
解析速度を上げるためにコーディング ルール チェックを調整する。
CWE
- CWE カテゴリに対する Polyspace のサポート
CWE の結果をカテゴリ別にグループ化する。
ユーザー定義のコーディング規約
- Create User-Defined Coding Standard by Using Polyspace Query Language
Create new user defined defects and use these defects along with existing bug Finder checkers to create a user-defined coding standard in a sharable
.pschkfile. - Create User-Defined Coding Standard by Using Polyspace Bug Finder Checkers
Map Bug Finder checkers to coding rules in a user-defined coding standard in a sharable.pschkfile.
コード複雑度メトリクス
- Polyspace を使用したコード複雑度メトリクスの計算
循環的複雑度や入れ子の深度などのコード複雑度メトリクスに制限を適用する。 - HIS コード複雑度メトリクス
Polyspace でサポートされているコード複雑度メトリクスのうち、Hersteller Initiative Software (HIS) 標準の一部であるものを確認する。
Polyspace ガイドライン
- Polyspace チェッカーを使用してソフトウェアの複雑度を低減する
ソフトウェア複雑度チェッカーを有効にして構成し、コードの読み取り、理解、デバッグを難しくしている問題を特定します。
Polyspace カスタム ルール
- C/C++ 変数および関数の命名規則の強制
Polyspace を使用して命名規則などのスタイル ガイドラインを C/C++ コードに強制する。