カスタム・ルールは「トレース」ビューから作成できます。カスタム・ルールにより、汚染伝播元のトレース、汚染の可能性のないトレース、またはシンクであるトレースを持つ検出結果をフィルター除外できますまた、トレース内のメソッドに検証/エンコード・ルーチンとしてのマークを付ける (または、それらが検証/エンコード・ルーチンでないことを示す) こともできます。
このタスクについて
サンプルのソース・コードと出力内容や、検証ルーチンとエンコード・ルーチンの作成手順については、例 2: 「トレース」ビューでの検証ルーチンとエンコード・ルーチンの作成を参照してください。
表 1. 「トレース」ビューのノードの有効なマーキング
選択されたメソッド |
有効なマーキング |
中間ノード |
- 検証/エンコード・ルーチン
- 汚染の可能性なし
- 検証/エンコード・ルーチンなし
|
逸失シンク |
|
手順
- 「トレース」ビューで、カスタム・ルールを作成する対象のメソッドまたはノードを右クリックして、作成するカスタム・ルールを選択します。あるいは、メソッドまたはノードを選択してから、該当のカスタム・ルール・ツールバー・ボタンをクリックします。ルーチンとメソッドのマーキング・オプションは、以下のとおりです。
オプション | 説明 |
---|
検証/エンコード・ルーチンとしてマークする |
|
検証/エンコード・ルーチンなしとしてマークする |
|
汚染伝播元としてマークする |
|
汚染の可能性なしとしてマークする |
|
シンクとしてマークする |
|
注: 「トレース」ビューで、カスタム・ルールを作成する対象のメソッドの項目がない場合は、
「カスタム・ルール・ウィザードを起動し、トレース・グラフにない検証ルーチンを追加します」をクリックします。カスタム・ルール・ウィザードで、「検証/エンコード・ルーチンの選択 (Select Validation/Encoding Routine)」ページに進みます。検証ルーチンを選択してから、次のステップの手順に従って、位置、有効範囲、ソースまたはシンク、またはプロパティーを指定します。このウィザードを使用して検証ルーチンを作成する方法について詳しくは、
例 2: カスタム・ルール・ウィザードでの検証ルーチンとエンコード・ルーチンの作成を参照してください。
- メソッドをシンクまたは検証/エンコード・ルーチンとしてマークするカスタム・ルールを作成している場合、詳細な設定が必要になる場合があります。
- メソッドをシンクとしてマークする場合は、以下のシンク属性を指定します。
- 検証ルーチンの場合は、検証ルーチンの適用対象にする場所と有効範囲、任意のソースまたはシンク、またはそれらのプロパティーを指定します。
- 適用対象:
- <メソッド名> に対するこの呼び出し (呼び出しサイト単位): この呼び出しの入力にのみ適用されます。
- <メソッド名> に対する任意の呼び出し (API 単位): メソッドに対する任意の呼び出しの検証/エンコード・ルーチンに適用されます。
- <メソッド名> は考慮されない、以下で指定されたすべての制約: すべてのソースがルールの影響を受けるようにします。
- 有効範囲:
- このプロジェクトに適用: 選択された場合は、ルールがプロジェクト (.ppf) ファイルに保存されます。
- すべてのプロジェクトに適用: この設定を使用して作成された検証ルーチンは、他のユーザーと共有できます。
- ソース: 検証ルーチンを適用する必要のある 1 つまたは複数の入力ソースを選択します。ソースを追加するには、「追加」をクリックし、「シグニチャーの選択」ダイアログ・ボックスからソースを選択します。複数のソースを追加するには、それらを「シグニチャーの選択」ダイアログ・ボックスで複数選択できます。
- シンク: 検証ルーチンを適用する必要のある 1 つまたは複数のシンクを選択します。シンクを追加するには、「追加」をクリックし、「シグニチャーの選択」ダイアログ・ボックスから「シンク」を選択します。複数のシンクを追加するには、それらを「シグニチャーの選択」ダイアログ・ボックスで複数選択できます。
- ソース・プロパティー: 特定のプロパティーを持つ、あるソース内で始まるトレースをクリアするルールが必要な場合は、「VMAT プロパティーを追加」をクリックしてから、「プロパティーの選択 (Choose Properties)」ダイアログ・ボックスでプロパティーを選択します。複数のプロパティーを追加するには、それらを「プロパティーの選択 (Choose Properties)」ダイアログ・ボックスで複数選択できます。
- シンク・プロパティー: 特定のプロパティーを持つ、あるシンク内で終わるトレースを除去するルールが必要な場合は、「VMAT プロパティーを追加」をクリックしてから、「プロパティーの選択 (Choose Properties)」ダイアログ・ボックスでプロパティーを選択します。複数のプロパティーを追加するには、それらを「プロパティーの選択 (Choose Properties)」ダイアログ・ボックスで複数選択できます。
- 「トレース」ビューでカスタム・ルールを作成した後で、コードを再度スキャンして、検出結果リストおよびトレースでルールが反映されていることを確認する必要があります。「トレース」ビューで作成したカスタム・ルールは、「カスタム・ルール」ビューで表示または削除することができます。「カスタム・ルール」ビューでルールの詳細を表示するには、ルールを選択して、「カスタム・ルール情報 」をクリックします。