このセクションの内容:
はじめに
Static Analysis Hotspot スライスは、同一のフロー トレース ソースから発生したコード解析違反を特定し、ソースを「ホットスポット」としてレポートします。デフォルトでは、最低 5 つの違反につながるフロー トレース ソースをホットスポットとみなしますが、スライスに付属するウィジェットでしきい値を設定できます。
要件
- アーティファクトは DTP 2020.1 にインストールできます。
- C/C++test、dotTEST、Jtest 2020.1 からのフロー解析レポートがサポートされています。
インストール
Static Analysis Hotspot スライスは Process Intelligence Pack の一部としてインストールされます。詳細については Process Intelligence Pack のインストール手順 を参照してください。スライスをインストールした後、DTP 環境にウィジェットとレポートをデプロイします。
- まだインストールしていない場合は、Process Intelligence Pack をインストールしてください。
- Extension Designer を開き、[サービス] タブをクリックします。
- Process Intelligence Engine サービス カテゴリを展開します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように Process Intelligence Engine カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「サービスの使用」を参照)。
- 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer のベスト プラクティス」を参照してください。既存のサービスを選択し、ステップ 6 まで継続するか、または [サービスの追加] をクリックします。
- サービスの名前を指定して [確認] をクリックします。
- タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し)、縦の三点メニューをクリックします。
- [読み込み] > [ライブラリ] > [Workflows] > [Process Intelligence] > [Static Analysis Hotspot] を選択し、空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
- [デプロイ] をクリックし、DTP 環境へのアーティファクトのデプロイを完了します。
- DTP に戻ってダッシュボードをリフレッシュします。これで、関連するウィジェットを追加できるようになりました。
ウィジェットの追加と構成
アーティファクトをデプロイした後、Violations from Hotspot - Percentage および Violation Hotspots - Pie ウィジェットを DTP で利用できます。プロセス インテリジェンス カテゴリから選択できます。ダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。
Violations from Hotspot - Percentage ウィジェット
このウィジェットは、選択されたビルド内のホットスポットから発生した違反の割合を表示します。また、ビルドのホットスポットに関連する違反の数および違反の総数も表示します。
ウィジェットをクリックすると、ホットスポットを Violation Hotspots Report で確認できます。
構成
以下の設定を行うことができます。
タイトル | デフォルトのタイトルの代わりにダッシュボードに表示する新しいタイトルを入力します。 |
---|---|
フィルター | [ダッシュボード設定] を選択してダッシュボード フィルターを使用するか、ドロップダウン メニューからフィルターを選択します (DTP のフィルターの詳細については「フィルターの作成と管理」を参照してください)。 |
Target Build (ターゲット ビルド) | 表示するデータを含むビルドを選択します。デフォルトは Latest Build です。 |
Hotspot Threshold | ここで指定された数の違反が同じトレース ソースから発生している場合、ソースはホットスポットとみなされます。デフォルトは 5 です。 |
Violation Hotspots - Pie
このウィジェットは、ビルド内の各ホットスポットから発生した違反数を示します。
ウィジェットの各セグメントがホットスポットを表します。ポインターをセグメントの上に置くと、ホットスポットのファイル名および行番号のほか、ホットスポットから発生した違反の数が表示されます。
セグメントをクリックすると、ホットスポットを Violation Hotspots Report で確認できます。
構成
以下の設定を行うことができます。
タイトル | デフォルトのタイトルの代わりにダッシュボードに表示する新しいタイトルを入力します。 |
---|---|
フィルター | [ダッシュボード設定] を選択してダッシュボード フィルターを使用するか、ドロップダウン メニューからフィルターを選択します (DTP のフィルターの詳細については「フィルターの作成と管理」を参照してください)。 |
Target Build (ターゲット ビルド) | 表示するデータを含むビルドを選択します。デフォルトは Latest Build です。 |
Hotspot Threshold | ここで指定された数の違反が同じトレース ソースから発生している場合、ソースはホットスポットとみなされます。デフォルトは 5 です。 |
Violation Hotspots Report
Violation Hotspots Report は、ビルド内で検出されたホットスポットの詳細を提示します。
各行が 1 つのホットスポットを表し、以下の情報が表示されます。
- Hotspot 列: フロー解析トレース メッセージが表示されます。
- File 列: トレースが開始したファイルが表示されます。
- Line 列: トレースの始点をマークするソース ファイルの行番号が表示されます。
- # of Violations 列: 各ホットスポットの違反数です。
- Score 列: 違反の重要度に基づいて、ホットスポットの各違反に値が割り当てられます。スコアはホットスポットごとの値の合計であり、以下の経験則によって割り当てられます。
- 重要度 1 (致命的) の違反には値
10
が割り当てられます。 - 重要度 2 (高) の違反には値
4
が割り当てられます。 - 重要度 3 (中) の違反には値 2 が割り当てられます。
- 重要度 4 (低) の違反には値
1
が割り当てられます。 - 重要度 5 (通知) の違反には値
0
が割り当てられます。
- 重要度 1 (致命的) の違反には値
ホットスポット行を展開すると、以下の情報が表示されます。
- ネストされたテーブルの上にトレースの視点が表示されます。
- File 列: 違反を含むファイルを表示します。違反エクスプローラー で違反を確認するには、この列のリンクをクリックします。
- Rule 列: フロー解析ルール ID が表示されます。
- Line 列: フロー解析違反がレポートされた行番号を表示します。
- Severity 列: 違反の重要度を表示します。