最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

検証結果のフィルター処理とグループ化

Polyspace® 解析の結果を開くと、欠陥 (Bug Finder)、実行時チェック (Code Prover)、コーディング ルール違反などの検証結果のフラット リストが表示されます。レビューを整理するには、リストを絞り込むか、ファイルまたは検証結果のタイプ別に検証結果をグループ化します。

使用できるフィルター処理方法の種類の一部を以下に示します。

検証結果のフィルター

検証結果のリストを使ったフィルター処理

[検証結果のリスト] ペインの列を使用してフィルター処理できます。列ヘッダーの アイコンをクリックすると、利用可能なフィルターが表示されます。列に関する詳細は、以下を参照してください。

前回の解析以降に見つかった検証結果のみを表示するには、[新規] ボタンをクリックします。

列の正確なコンテンツでフィルターしない場合は、代わりにカスタム フィルターを使用できます。たとえば、特定のフォルダーのサブフォルダーをフィルターで除外するとします。[フォルダー] 列で各サブフォルダーをフィルターで除外する代わりに、フィルターのドロップダウンから [カスタム] を選択します。doesn’t contain フィルターにルート フォルダー名を指定します。

カスタム フィルターにはワイルドカード文字を使用できます。ワイルドカード ? は 0 文字または 1 文字を表し、* は 0 文字以上の文字列を表します。

このようにフィルターを適用すると、そのフィルターは次回の解析に引き継がれます。また、フィルターのサブセットに名前を付けて保存し、複数のプロジェクトで使用することもできます。フィルターの名前付きセットを適用するには、[すべての結果] リストからこのフィルター セットを選択します。このリストに新しいエントリを作成するには、[ツール][設定] を選択し、[レビュー スコープ] タブに独自のフィルターのセットを作成します。

ダッシュボードを使ったフィルター処理

[ダッシュボード] ペインのグラフをクリックして、検証結果をフィルター処理できます。次に例を示します。

  • Bug Finder で影響度の高い欠陥のみを表示するには、[影響度別欠陥分布] チャートの対応するセクションをクリックします。

  • Code Prover でレッド チェックのみを表示するには、[チェックの分布] チャートの対応するセクションをクリックします。

すべての検証結果を再度表示するには、リンク [このスコープのすべての検証結果を表示] をクリックします。

オレンジ ソースを使用するフィルター

オレンジ ソースによって、Code Prover で複数のオレンジ チェックが生じる可能性があります。同じソースのすべてのオレンジ チェックを表示して、まとめてレビューすることができます。

たとえば、以下のコードでは、未知の値 input によってオーバーフローおよびゼロ除算が発生する可能性があります。変数 input は、2 つのオレンジ チェックの原因となるオレンジ ソースです。

void func (int input) {
int val1;
double val2;
val1 = input++;
val2 = 1.0/input;
}

最初に、[ウィンドウ][ビューの表示/非表示][オレンジ ソース] を選択します。オレンジ ソースのリストが表示されます。オレンジ ソースを選択して、このソースが原因で生じるすべてのオレンジ チェックを確認します。

使用しているフィルターの確認

[検証結果のリスト] ヘッダーに、[x/y を表示中] という形式で検証結果の数が表示されます (例: [100/250 を表示中])。この数字の横のドロップダウンをクリックして、現在アクティブなフィルターを確認します。このドロップダウンからアクティブなフィルターをクリアすることもできます ([すべての結果] ドロップダウンで選択したフィルターの名前付きセットを除く)。

フィルターに関する以下の情報が表示されます。

  • レビュー スコープ: [すべての結果] ドロップダウンからフィルターの名前付きセットを選択した場合、このフィルター セットが表示されます。

  • 新しい検証結果のみ: [新規] ボタンを使用して新しい検証結果のみを表示する場合、有効にされたこのフィルターが表示されます。

  • フィルター処理された結果: Polyspace ユーザー インターフェイスにおいて (検証結果のリスト、ダッシュボード、オレンジ ソースなど任意の方法で) フィルター処理された検証結果の数が表示されます。

  • 非表示の検証結果: コード注釈を使用して非表示にされた検証結果の数が表示されます。これらの検証結果を表示するには、[コードで正当化済みの結果を非表示] をオフにします。

    コード注釈による検証結果の非表示の詳細については、バグ修正またはコメントによる Polyspace 検証結果への対処を参照してください。

  • アクティブなフィルターをもつ列: 検証結果のフィルター処理に使用した [検証結果のリスト] ペインの列 (または [ダッシュボード] ペインのグラフに対応する列) が表示されます。

検証結果のグループ化

[検証結果のリスト] ペインで、 のリストからオプション (ファイルによるグループ化など) を選択します。または、列ヘッダーをクリックして、列の内容をアルファベット順に並べ替えることができます。

グループ化に使用できるオプションは以下です。

  • なし: グループ化せずに検証結果を表示します。

  • ファミリ: 検証結果のタイプ別にグループ分けされた検証結果を表示します。

    検証結果はチェック (Code Prover)、欠陥 (Bug Finder)、グローバル変数 (Code Prover)、コーディング ルール違反、コード メトリクスのタイプ別に整理されます。各タイプごとに、さらにグループ分けされます。

    • 欠陥 (Bug Finder) は欠陥グループによって整理されます。グループについての詳細は、欠陥を参照してください。

    • チェック (Code Prover) は色別にグループ分けされます。各色により、チェックはチェック グループにまとめられます。グループについての詳細は、実行時チェック (Polyspace Code Prover)を参照してください。

    • グローバル変数 (Code Prover) はその使用法別にグループ分けされます。詳細は、グローバル変数 (Polyspace Code Prover)を参照してください。

    • コーディング ルール違反はコーディング ルールのタイプ別にグループ分けされます。詳細は、コーディング規約を参照してください。

    • コード メトリクスはメトリクスのスコープ別にグループ分けされます。詳細は、コード メトリクスを参照してください。

  • ファイル: ファイル別にグループ化された検証結果を表示します。

    各ファイル内で、検証結果は関数別にグループ分けされます。特定の関数に関連付けられていない検証結果は [ファイル スコープ] でグループ分けされます。

    Code Prover では、ファイル名または関数名にそのファイルまたは関数に含まれる最悪のチェックの色が示されます。チェックの色の重大度は、レッド、グレー、オレンジ、グリーンの順で低下します。

  • クラス (C++ コードのみ): クラス別にグループ分けされた検証結果を表示します。

    各クラス内で、検証結果はメソッド別にグループ分けされます。特定のクラスに関連付けられていない検証結果は [グローバル スコープ] でグループ分けされます。

関連するトピック