このセクションの内容:

概要

開発マネージャーは、違反エクスプローラーを使用して静的解析の違反を効率的に分類し、簡単に修正することができます。すべての静的解析ウィジェットから、項目をクリックして違反エクスプローラーに移動できます。このセクションでは、違反エクスプローラーの主要なコンポーネントについて説明します。その後のセクションでは、違反エクスプローラーの使用方法について詳しく説明します。

違反エクスプローラーは 5 種類の主要パーツから構成されます。

  1. 検索パネル: 「ファイル単位で違反を検索する」 を参照。
  2. 検索結果: 「検索結果の参照」 を参照。
  3. ソース パネル: 「ソースの参照」 を参照。
  4. アクション パネル: 「違反の対応」 を参照。
  5. フロー解析トレースまたは重複コード検出パネル (フロー解析または重複コード検出を実行した場合): 「フロー解析トレースの参照」 または 「重複コード違反の参照」 を参照。

違反の検索

Development Testing Platform (DTP) の違反は、パラメーターを使って検索できます。検索エリアを使って特定の種類の違反に絞り込みます。検索エリアで条件を変更して、開発プロジェクト全体で違反を探すことができます。

  1. [Change Search] をクリックして検索オプション画面を表示します。
  2. 検索条件を指定して [検索] をクリックします。
  3. 違反エクスプローラーをどこから表示したかが検索エリアに反映されます。ドロップダウン メニューから別のフィルターやプロジェクトを選択して、検索範囲を変更できます。 
  4. 検索条件を選択/非選択して [検索] をクリックします。違反が発見されたファイルに基づいて違反を検索することもできます。「ファイル単位で違反を検索する」を参照してください。
  5. 抑制された違反を検索するには、必ず [タイプ] ドロップダウン メニューから [抑制] を選択してください。
  6. 検索結果の表で違反をクリックすると、違反が検出されたコード中の箇所を参照できます。
  7. DTP の設定を変更して、ソース管理システムから、あるいは解析中に DTP Engine から送られたソースから、ソース コードを表示することができます。DTP でソースを表示する方法の詳細については 「ソース コード ビューの設定」 を参照してください。

ファイル単位で違反を検索する

ファイルを検索してそのファイル中で発見された違反を返すことができます。

  1. [検索条件] ボタンをクリックして検索オプション画面を表示します。
  2. [ファイル パス] オプションをクリックし、ファイル パス バーに検索パスを入力します。特定の文字列を含むパスを検索するか、Ant ベースのパターンに一致したファイル パスを検索して、そのパスで発見されたすべての違反を検索できます。

結果
test

文字列 "Test" を含むファイル パスで発見されたすべての違反を返します。例:

  • com/parasoft/dtp/SampleTest.java
  • com/parasoft/Test/Violation
  • SampleTestProject/trunk/index.html

しかし、以下は返しません。

  • com/parasoft/dtp/Example.xml
com/ex

文字列 "com/ex" を含むファイル パスで発見されたすべての違反を返します。例:

  • com/example/schema.json
  • branch/dcom/extra/README.md

しかし、以下は返しません。

  • ex/complete/new.txt
com/parasoft/**

"com/parasoft" ディレクトリ ツリーで発見されたすべての違反を返します。例:

  • com/parasoft/dtp/SampleTest.java
  • com/parasoft/config.xml

しかし、以下は返しません。

  • com/example/schema.json
  • main/com/parasoft/example.txt
**/test/*.java

ディレクトリ ツリー中の任意の test ディレクトリにある、接尾辞が ".java" のファイルで発見されたすべての違反を返します。例:

  • test/Test.java
  • com/parasoft/dtp/test/SampleTest2.java

しかし、以下は返しません。

  • com/parasoft/dtp/test/examples/Example.java
  • test/license.txt

検索結果の参照

検索パラメーターに従って発見された違反は、検索結果パネルに表示されます。

違反をクリックして、ソース ファイルの内容を参照したり、違反の詳細を確認したり、修正のためのアクションを有効にします。違反を選択すると、ファイル名とそのファイルを開いたコンポーネントがコード パネルに表示されます。

データをソートしたり表をカスタマイズしたりして、ニーズに合わせて違反データを見やすくすることもできます。詳細については 「エクスプローラー ビューの使用方法」を参照してください。

デフォルトでは、最大で 1000 件の違反が表示されます。URL に &limit=[number] パラメーターを追加して上限を変更できます。たとえば以下の URL の場合、最大で 2000 件まで違反を表示できます。

[DTP_HOME]/grs/dtp/explorers/violations?filterId=11&limit=2000

limit パラメーターには任意の値を設定できます。ただし、非常に大きな値を指定すると、違反エクスプローラーのパフォーマンスに影響する場合があります。

ソースの参照

ソース パネルでは、コード中の違反を参照することができます。Report Center エクスプローラー ビューでソースを参照するには適切な権限が必要です (詳細については 「ネイティブ権限の割り当て」 を参照してください)。

行番号の横のマーカー上にマウス ポインタを置くと、違反のエラー メッセージについてのツールチップが表示されます。

情報アイコンにマウス ポインタを置くと、ソースがどこから表示されているかが示されます。

フロー解析トレース機能を使用する場合、コード パネルでその違反の原因になったコードのパスを参照することもできます。

違反エクスプローラーでコードを参照する方法の詳細については 「フロー解析トレースの参照」を参照してください。

違反の対応

違反エクスプローラーには、組織のポリシー、ニーズ、目的に合わせて違反を処理するのに役立つツールが用意されています。[優先度] パネルからソフトウェア品質ワークフローに違反を置くことができます。

ただし、違反の優先度を設定する権限だけでなく、ソースを参照するための権限も必要です。違反に優先度を設定するための権限は、そのユーザーが所有するすべての違反か、あるいは一部の違反だけに許可されます。以下の表は、プロジェクトのメンバーシップの状況とどのように権限が割り当てられるかを示したものです (詳細については 「ネイティブ権限の割り当て」 を参照してください)。

ユーザーの種類追加権限許可されるアクセス
管理者
  • ソースの参照

  • すべての違反の優先度設定

リーダー
  • ソースの参照

  • すべての違反の優先度設定

メンバー
  • ソースの参照

  • 自分の違反の優先度設定

非メンバー 1
なし
非メンバー 2project
  • データの参照

  • ソースは参照できない

  • 優先度の設定はできない

非メンバー 3project, prioritizeOwner
  • ソースは参照できない

  • 自分の違反の優先度を設定できる

非メンバー 4project, viewSources
  • ソースの参照

  • 優先度の設定はできない

違反に優先順位を付ける

  1. 検索結果エリアで違反を選択します。コード ビュー パネルにファイル名が表示されます。
  2. [優先度] タブをクリックし、ドロップダウン メニューから優先度を選択します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反を開発者に割り当てる

他の作成者、またはフィルターに関連付けられたプロジェクトのメンバーに違反を割り当てることができます。

  1. 検索結果エリアで違反を選択します。コード ビュー パネルにファイル名が表示されます。
  2. [優先度] タブをクリックし、[担当] フィールドをクリックします。
  3. ユーザー名を入力します。入力を始めると、オートフィル機能が実行されます。
  4. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反リスクと影響度レベルを設定する

違反エクスプローラーでは、リスクをもたらす違反や、アプリケーションに関連するポリシー目標に影響する違反に目印を付けて警告することができます。

  1. 検索結果エリアで違反を選択します。
  2. [優先度] タブをクリックし、[リスク/影響] ドロップダウン メニューから値を選択します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反にアクションを割り当てる

アクションとは、テストの失敗の修正方法を定義するために使用できるメタデータの文字列です。DTP には、定義済みのアクションが用意されています。[なし]、[修正]、[再割当て]、[レビュー]、[抑制]、および [その他] です。API を使用して、[なし] 以外の定義済みアクション タイプを編集または削除することができます。アクションの設定の詳細については、Report Center のナビゲーション バーの [ヘルプ] ドロップダウン メニューから [API ドキュメント] を参照してください。

  1. 検索結果エリアで違反を選択します。
  2. [優先度] タブをクリックし、[アクション] ドロップダウン メニューから値を選択します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反に期限を設定する

  1. 検索結果エリアで違反を選択します。
  2. [優先度] タブをクリックし、[期限] フィールドのカレンダー アイコンをクリックして日付を選択します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反に参照番号を設定する

  1. 検索結果エリアで違反を選択します。
  2. [優先度] タブをクリックし、[参照 #] フィールドに値を入力します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。


違反にコメントを追加する

  1. 検索結果エリアで違反を選択します。
  2. [優先度] タブをクリックし、[コメント] フィールドにコメントを入力します。
  3. 必要に応じて他の設定を行って、[適用] をクリックします。[すべてのブランチに適用] がデフォルトで有効化されています。選択した違反にだけ変更を適用したい場合、このオプションを無効化してください。「違反に変更を適用する」を参照してください。

違反に変更を適用する

違反を更新する場合、違反の 1 つのインスタンスに変更を適用するか、あるいは違反が発生しているすべてのソース管理ブランチ中の違反に変更を適用できます。変更を適用すると、確認メッセージが表示されます。

違反情報の参照

違反に適用されたすべての変更は、アクション パネルで参照することができます。アクション パネルには、選択した違反に関連する詳細な履歴情報が表示されます。選択した違反についてのルールの説明も参照できます。

変更履歴

アクション パネルの [変更履歴] タブをクリックすると、選択した違反に対する更新の簡潔な概要が表示されます。複数の違反の変更履歴を参照することはできません。

[コメントだけを表示] オプションをクリックして、コメント ログを除いたすべての更新を表示/非表示にすることができます。

違反の履歴

アクション パネルの [違反の履歴] タブをクリックすると、選択した違反を含むコードに対する変更が表示されます。複数の違反について違反の履歴を参照することはできません。

以下のように履歴パネルの表示をカスタマイズできます。

  • 列ヘッダーの下矢印をクリックして [昇順でソート] または [降順でソート] をクリックし、表のデータを並べ替えます。
  • 列ヘッダーの下矢印をクリックして [] を選択し、列の表示/非表示を設定します。
  • 列ヘッダーの境目をドラッグして列の幅を変更します。

違反の説明

[ヘルプ] タブをクリックすると、コードが違反している静的解析ルールの説明が表示されます。複数の違反についてルールの説明を参照することはできません。

タイムライン 

アクション パネルの [タイムライン] タブをクリックすると、違反があるコードが時間の経過につれてどのように変化したかが表示されます。タイムラインは、最新の情報を先頭に表示します。赤色の部分は、その期間に違反が検出されたことを示します。緑色の部分は、その期間に違反が解決されたことを示します。なお、複数の違反のタイムラインを参照することはできません。

詳細

アクション パネルの [詳細] タブをクリックすると、選択違反の場所、所有者、ルール ID、およびメッセージについての現在の情報が表示されます。

検索結果の中から違反を選択している場合、[違反 ID] フィールドが表示されます。違反 ID のリンクは、その違反と選択したフィルターに直接リンクします。このリンクを共有すると、他の開発者が DTP でこの違反に直接アクセスすることができます。

複数の違反について履歴情報を参照することはできません。

フロー解析トレースの参照

データ フロー解析 (動的解析) を実行した場合、フロー解析パネルで、違反に到達するまでのパスを参照できます。フロー解析を使用すると、コードがどのように構成されるかを決定したり、なぜ違反が発生したのかを理解したり、違反の重要性を判断したりするのに役立ちます。

トレースをクリックすると、コード パネルに違反のパスが表示されます。

フロー解析トレース パネルを開いたり閉じたりするには、アクション パネルの下部にある展開ボタンをクリックします。

ソース コードを参照する権限が必要です。詳細については 「ネイティブ権限の割り当て」を参照してください。

重複コード違反の参照

CDD (重複コードの検出) 解析ルールによって違反が検出された場合、検出された重複コード パネルで違反を参照することができます。重複コードの存在は、アプリケーション設計が良くないことを示している可能性があるだけでなく、保守のコストを増大する可能性もあります。CDD (重複コードの検出) 解析ルールによって違反が検出された場合、検出された重複コード パネルで違反を参照することができます。違反エクスプローラーの検索結果パネルで CDD 違反をクリックすると、違反のパスが開きます。

このパネルには、ファイル名、行番号、および重複コードの各インスタンスのパスが表示されます。ソース パネルには、重複コードがあるソースも表示されます。

重複コードのオリジナル行が強調表示されます。その部分にマウス ポインタを置くと、どのルールが違反されたかがツールチップに表示されます。

ソース コードを参照する権限が必要です。詳細については「ネイティブ権限の割り当て」を参照してください。

検出された重複コード パネルでエントリをクリックすると、重複コードが表示されます。

優先度の設定や開発者への違反の割り当てなど、通常の違反修正アクションを行うことができます。「違反の対応」 を参照してください。


  • No labels