内部的なコーディング ポリシーを実装するために、組織が自動静的解析ツールを導入することはよくあります。通常そのようなコーディング ポリシーはコーディング規約とベスト プラクティスをまとめた文書に基づいており、独自の方法で問題と重要度を分類しています。

既存の文書の内容については開発グループがすでにレビュー済みです。そのため、既存の文書のルールの説明と ID を利用することが、ほとんどの場合に静的解析ツールで最も確実にコーディング ポリシーを実装する方法です。「実際に使用/共有するルール」を「既存のコーディング ポリシー文書の内容」に正確に一致させることができるよう、C++testには、ルール ID やルール名をカスタマイズしたり、新規にルール カテゴリを作成するための使いやすい機能が用意されています。

このマッピングは、ルール マップ ファイルによって実装されます。ルール マップ ファイルは、ローカルに使用、インポート、エクスポートすることも、Team Server にデプロイしてチーム全体で使用することもできます。

このセクションの内容 :

ルール マッピングの指定

ルール マッピングを指定するには、次の操作を行います。

  1. [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。  
  2. 任意のテスト コンフィギュレーションを選択します。  
  3. [静的] > [ルール ツリー] タブをクリックします。  
  4. [ルール マップ ファイルの編集] ボタンをクリックし、[新規] ボタンをクリックします。  
  5. ルール マッピングを入力します。  
    • ルール 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 ファイルをアップロードします。

ローカルの rulemap.xml ファイルとチームの rulemap.xml ファイルの両方にマシンがアクセスする場合、チームのrulemap.xml ファイルが優先されます。

エクスポート/インポートによる共有

Team Server がない場合でも、ルール マッピングをエクスポート/インポートしてルール マッピングを共有できます。

ルール マッピングをエクスポートするには、次の操作を行います。

  1. テスト コンフィギュレーションを開き、[静的] > [ルール ツリー] タブの [ルール マップ ファイルの編集] ボタンをクリックします。  
  2. [エクスポート] ボタンをクリックし、ルール マップ ファイルの保存先を指定します。  
  3. [OK] をクリックします。  

ルール マッピングをインポートするには、次の操作を行います。

  1. テスト コンフィギュレーションを開き、[静的] タブ > [ルール ツリー] タブの [ルール マップ ファイルの編集] ボタンをクリックします。  
  2. [インポート] ボタンをクリックし、ルール マップ ファイルを選択します。  
  3. [OK] をクリックします。    
  • No labels