内部的なコーディング ポリシーを実装するために、組織が自動静的解析ツールを導入することはよくあります。通常そのようなコーディング ポリシーはコーディング規約とベスト プラクティスをまとめた文書に基づいており、独自の方法で問題と重要度を分類しています。
既存の文書の内容については開発グループがすでにレビュー済みです。そのため、既存の文書のルールの説明と ID を利用することが、ほとんどの場合に静的解析ツールで最も確実にコーディング ポリシーを実装する方法です。「実際に使用/共有するルール」を「既存のコーディング ポリシー文書の内容」に正確に一致させることができるよう、C/C++testには、ルール ID やルール名をカスタマイズしたり、新規にルール カテゴリを作成するための使いやすい機能が用意されています。
このマッピングは、ルール マップ ファイルによって実装されます。ルール マップ ファイルは、ローカルに使用、インポート、エクスポートすることも、Team Server にデプロイしてチーム全体で使用することもできます。
DTP のルール マップ
DTP に保存されたテスト コンフィギュレーションを使用している場合、ルール マッピングの管理、カスタマイズ、適用の詳細については『DTP ユーザー ガイド』の「ルール マップ」セクションを参照してください。
このセクションの内容
ルール マッピングの指定
ルール マッピングを指定するには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックし、[テスト コンフィギュレーション] ダイアログを開きます。
- 任意のテストコンフィギュレーション カテゴリを選択します。
- [静的] > [Rules Tree] タブをクリックします。
- [ルール マップ ファイルの編集] ボタンをクリックします。
- ルールマップ ファイルの編集ダイアログで、ルール マッピングを入力します。
ルール ID 、ヘッダー、重要度レベルを変更するには: [ルール] タブでエントリを追加します。1 つのマップ エントリは、指定のビルトイン ルールのカテゴリ ID または重要度レベルを変更する 1 つのルール マップを定義します。CATEGORY-ID の形式で現在のルール ID ( たとえば SECURITY-01 など) を [オリジナル ID] 列に入力した後、必要な変更を加えます。
- ルール ID を変更するには、[マップされた ID] 列にルール ID を入力します。
- 重要度を変更するには、[重要度] ドロップダウン リストから重要度を選択します。
ルール名を変更するには、[ヘッダー] 列にルール名を入力します。
ルール ID を変更すると、新しいカテゴリが自動的に作成されます。その場合、下記の説明にあるように、[カテゴリ] タブで、新しいカテゴリごとに詳細を指定する必要があります。 詳細を指定しないと、ルールは UNKNOWN カテゴリに追加されます。
ルールのクローンを作成するには (ルールのクローンを作成して、たとえば異なるパラメータライズド ルールを作成する場合など) : [クローン] タブでエントリを追加します。クローンの作成は、1 つのルール インスタンスを複数の ルール ID にマップするのに役立ちます。 現在のルール ID ( たとえば BD.MISC-TRANS など) を[オリジナル ID] 列に入力し、クローン後のルール ID (たとえば ACME-TRANSなど) を [クローン ID] 列に入力します。重要度レベルを指定するには、ドロップダウン リストからレベルを選択します。注意: クローンが適用されるのは、たとえば「フロー解析」ルールなど、RuleWizard で編集できないルールだけです。RuleWizard で編集できるルールを複製するには、「既存ルールのカスタマイズと新規ルールの作成」の説明にある方法で複製してください。
新しいルール カテゴリを追加するには : [カテゴリ] タブでエントリを追加します。[カテゴリ ID] 列にカテゴリの ID を入力し、[カテゴリ詳細] 列に簡単な説明を入力します。
GUI で入力したルール マッピングは、rulemap.xml
という単純なテキスト ファイルとして [設定] パネル ([Parasoft] > [設定] ページ) で指定されたユーザー定義のルール フォルダーに保存されます。
既存のルールをコピーしてルール ID や重要度レベルを変更するには
ルール ツリーでルールを右クリックし、[複製] をクリックします。複製されたルールがルール ツリーに追加されます。必要に応じてルールをカスタマイズできます。
ルール マッピングの共有
Team Server による共有
Team Server を使用している場合にルールの変更をチーム メンバー間で共有するには、Team Server に rulemap.xml
ファイルをアップロードします。
Team Server にファイルをアップロードする方法については、
- 「テストコンフィギュレーションとルールの設定」を参照してください。
ローカルの rulemap.xml
ファイルとチームの rulemap.xml
ファイルの両方にマシンがアクセスする場合、チームのrulemap.xml ファイルが優先されます。
エクスポート/インポートによる共有
Team Server がない場合でも、ルール マッピングをエクスポート/インポートしてルール マッピングを共有できます。
ルール マッピングをエクスポートするには、次の操作を行います。
- テスト コンフィギュレーションを開き、[静的] > [ルール ツリー] タブの [ルール マップ ファイルの編集] ボタンをクリックします。
- [エクスポート] ボタンをクリックし、ルール マップ ファイルの保存先を指定します。
ルール マッピングをインポートするには、次の操作を行います。
- テスト コンフィギュレーションを開き、[静的] > [ルール ツリー] タブの [ルール マップ ファイルの編集] ボタンをクリックします。
- [インポート] ボタンをクリックし、ルール マップ ファイルを選択します。