このセクションでは、C++test のビルトイン 静的解析ルールについて説明します。
このセクションの内容 :
ルール カテゴリ
C++test には、C/C++ 言語の専門家による知識に基づいた数多くの静的解析ルールが用意されています。C++test の静的解析ルールは、不適切な C/C++ 言語の使用によるバグの可能性を特定したり、コーディングのベスト プラクティスを推進したり、コードの保守性と再利用性を高めるために有用です。
C++test の静的解析ルールは次のようにカテゴリ分けされています。
- バグ探偵 [BD]
- コーディング規約 [CODSTA]
- 重複コードの検出 [CDD]
- コメント [COMMENT]
- 例外 [EXCEPT]
- 書式 [FORMAT]
- 初期化 [INIT]
- Joint Strike Fighter [JSF]
- メトリクス [METRICS]
- MISRA C [MISRA]
- MISRA C 2004 [MISRA2004]
- MISRA C++ 2008 [MISRA2008]
- MISRA C 2012 [MISRA2012]
- メモリおよびリソース管理 [MRM]
- 名前付け規則 [NAMING]
- オブジェクト指向 [OOP]
- 最適化 [OPT]
- バグの可能性 [PB]
- 物理ファイル構成 [PFO]
- 移植性 [PORT]
- プリプロセッサ [PREPROC]
- Qt ベスト プラクティス [QT]
- セキュリティ [SECURITY]
- STL ベスト プラクティス [STL]
- テンプレート [TEMPL]
ルールの説明の参照
C++test に付属の静的解析ルールについては、[Parasoft] メニューの [ヘルプ] をクリックして『Parasoft C++test 静的解析ルール ガイド』ブックを参照してください。
テスト コンフィギュレーションで有効に設定されている静的解析ルールのリストとその説明を参照するには、次の操作を行います。
- [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
- ルール リストを参照するテスト コンフィギュレーションを選択します。
- [静的] タブをクリックします。
- [有効なルールの一覧] ボタンをクリックします。
ルールのリストおよび関連付けられたすべてのルールの説明を印刷するには、ブラウザーの [リンク ドキュメントをすべて印刷する] プリンター オプションを有効にしてから、メインのルールのリストを印刷します。
重要度レベル
各ルールには重要度レベルが設定されています。重要度レベルは、そのルールによって深刻なエラーが引き起こされる可能性を表し、レベル 1 からレベル 5 までの 5 段階のレベルがあります。レベル 1 が最も違反の深刻度が高いレベルです。
- 最高 - レベル 1
- 高 - レベル 2
- 中 - レベル 3
- 低 - レベル 4
- 最低 - レベル 5
ユーザー定義ルール
C++test には RuleWizard というツールが付属しています。ユーザーは、RuleWizard を使ってユーザー独自の静的解析ルールを作成できます。このユーザー定義ルールはもちろん C++test で使用できます。
ユーザー定義ルールを作成する方法については 「既存ルールのカスタマイズと新規ルールの作成 」を参照してください。
設定
このセクションでは、Parasoft 設定パネルの C++test 固有の設定について説明します。
セクションの内容
全般的な設定 - パスのプロジェクト コンテナーを無視する
最上位ノードを選択すると、パス中のソリューションおよびソリューション フォルダー名を無視するかどうかを指定できます。この設定を変更する場合、ソリューションとプロジェクトの構造が正しく表示されるよう、IDE を再起動することを推奨します。
以下の場合、[Ignore solution and solution folder names in paths] オプションをオンにすることが推奨されます。
- メインの開発単位がプロジェクトである
- 開発者はソリューションの規約を持っておらず、ソリューション設定を共有していない
- 多数のソリューションに同じプロジェクトが含まれる
- 開発者は多数の異なるソリューションで使用されるプロジェクトおよびリソースを共有したいと考えている
このモードでのパス
/User Interface/Program.cs
/Connector/Program.cs
以下の場合、このオプションをオフのままにすることを推奨します。
- メインの開発単位がソリューションである
- ソリューションが複数の開発者に共有される
- 各ソリューションにはプロジェクトおよびリソースに適用される固有の設定がある
このモードでのパス
/My Solution/Common/User Interface/Program.c
/My Solution/Engine/Connector/Program.c
この設定は、Team Server (利用可能な場合) によって共有されます。チームに単独のデスクトップしかない場合 (Team Server に接続されていない場合)、このオプションは各ユーザーによってローカルで制御されます。このオプションはすべてのエディションで設定可能です。
ファイル エンコーディングの設定
ファイル エンコーディング パネルでは、BOM シグネチャのないファイルのエンコーディングを指定できます。システムのデフォルト エンコーディングを使用するか、特定のエンコーディングを使用するか、特定の極東言語を自動検出するかを選択できます。