Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DTPDEVEL and version 2023.2

...

  1. Security Compliance Pack を DTP Extension Designer にインストールします。
  2. DTP 環境に CERT for Java Compliance アーティファクトをデプロイします。この操作は CERT for Java Compliance 拡張のアセット拡張アセット もデプロイします。
  3. CERT for Java テスト コンフィギュレーションを使って Jtest でコードを解析し、違反を DTP にレポートします。ローカル テスト コンフィギュレーションまたは Security Compliance Pack に同梱のテスト コンフィギュレーションを使用するように Jtest を設定できます。このテスト コンフィギュレーションと rulemap.xml ファイルは、CERT for Java ガイドラインに従って違反をレポートする解析ルールを構成します。
  4. CERT for Java Compliance ダッシュボードとウィジェットを DTP インターフェイスに追加します。このダッシュボードは、CERT for Java ガイドラインのコンテキストでレポートされた違反を表示します。
  5. ウィジェットとレポートを利用して、修正が必要なコードを特定したり、監査のためにレポートを出力したりします。

...

Info
titleルール マップとテスト コンフィギュレーション

通常、Parasoft の静的解析およびフロー解析ルールは、カテゴリ (バグの可能性、相互運用性、etc.たとえばバグの可能性、相互運用性など) と 1 から 5 の重要度に従って違反をレポートします。CERT for Java ガイドライン違反としてコード解析違反を表示するために、DTP はルール マップ ファイルを必要とします。ルール マップ ファイルは、CERT for Java ガイドラインに従って違反をレポートするために Parasoft ルールを再編成します。さらに、コード解析ツール (Jtest) は再マッピングされた CERT for Java ルールに関連するルールだけを実行するテスト コンフィギュレーション ファイルを必要とします。これらのファイルは Jtest に同梱されています。

...

プロファイルは、DTP インフラストラクチャでさまざまな機能を提供します。たとえば、拡張によって実行されるカスタム計算の入力や、コンプライアンス レポートのためのデータなどです。プロファイルはモデルからその構造を取ります。これはフィールド、ヘッダー、あるいはプロファイルで使用される他のコンポーネントを定義します。DTP Enterprise Pack のプロファイルの詳細については「Working with Model Profiles」を参照してください。CERT for Java アーティファクトには以下のプロファイルが含まれています。

  • cert-compliance.json: このモデル ファイルは、CERT for Java プロファイルがどのようにデータを表示するかを指定します。
  • cert-java.json: これは、CERT Complianceこれは、cert-compliance.json モデルに従ってデータを表示するデフォルト プロファイルです。コンプライアンス監査レポートを生成するには、このプロファイルを有効化する必要があります。
  • cert-java-likelihood.json: このプロファイルは、重要業績評価指標 (KPI) の計算のためのメトリクス情報を提供します。KPI.json モデルに従ってデータを表示します。
  • cert-java-remediation-cost.json: このプロファイルは、KPI の計算のためのメトリクス情報を提供します。KPI.json モデルに従ってデータを表示します。

...

Parasoft ルールと CERT ガイドラインとの関連を示す PDF が次の場所にあります: <PACK>/rules/jtest ディレクトリ  

package.json

このファイルは拡張のコンテンツを指定します。

...

  1. DTP の設定メニュー (歯車のアイコン) から [Extension Designer] を選択します。
  2. [サービス] タブをクリックし、DTP ワークフロー サービス カテゴリを選択します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように DTP ワークフロー カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「Working with Services」を参照)。
     
  3. 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer Best Practices」を参照してください。既存のサービスを選択し、ステップ 5 まで継続するか、または  [サービスの追加] をクリックします。 
  4. サービスの名前を指定して [確認] をクリックします。
  5. タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し アイコンをクリックして新しいタブを追加し)、縦の三点メニューから [読み込み] を選択します。
  6. [Local] > [Flows] > [Workflows] > [Security] > [CERT Compliance] を選択し、[読み込み] をクリックします。
  7. 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。 
  8. [デプロイ] をクリックし、DTP ダッシュボードに戻ります。
  9. ブラウザーを更新します。

...

  1. DTP ツールバーの [ダッシュボードの追加] をクリックして名前を指定します。 
  2. (オプション) 以下の情報を指定して、ダッシュボードのデフォルト ビューを設定できます。
    1. [フィルター] ドロップダウン メニューで、プロジェクトに関連するフィルターを選択します。フィルターは、DTP に格納されたデータをカスタマイズして表示できるラン コンフィギュレーション セットを表します。詳細については「DTP Concepts」を参照してください。
    2. [期間] ドロップダウン メニューで時間の範囲を指定します。 
    3. [ベースライン ビルド] および [ターゲット ビルド] ドロップダウン メニューで、ビルド範囲を指定します。 
  3. [テンプレートからダッシュボードを作成] オプションを有効にし、SEI を有効にし、関連するメニューから SEI CERT Oracle Coding Standard for Java Compliance テンプレートを選択します。
  4. [作成] をクリックしてダッシュボードの追加を完了します。

CERT for Java テスト コンフィギュレーションを使ってプロジェクトに対して Jtest を実行したことがある場合、ダッシュボードを追加するとすぐに、ほとんどのウィジェットがデータを表示します。これらのウィジェットの使用をすぐに開始してデータを確認して作業できるため、コンプライアンス ゴールを追跡するのに役立ちます (「CERT for Java Compliance ウィジェット」を参照)。ただし、Remediation Cost および Likelihood Score ウィジェットを使用するには、さらに操作が必要です。これらは KPI 拡張が実行する計算に依存します。詳細については「Enabling the CERT KPI Widgetsウィジェットの有効化」を参照してください。

Anchor
Manually Adding the CERT for Java Widgets
Manually Adding the CERT for Java Widgets
手動による CERT for Java ウィジェットの追加

...

タイトル[タイトル] フィールドでウィジェット名を変更できます。この設定はすべてのウィジェットで可能です。
フィルタードロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「Creating and Managing Filters」を参照してください。この設定はすべてのウィジェットで可能です。
ターゲット ビルドドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「Using Build Administration」を参照してください。この設定はすべてのウィジェットで可能です。 
種類

このルールはウィジェットで表示するガイドラインの種類を指定します。ドロップダウン メニューから このルールはウィジェットで表示するガイドラインの種類を指定します。メニューから [ルール]、[レコメンデーション]、または [すべて] を選択します。ガイドラインの種類の詳細については「Background背景」を参照してください。この設定は以下のウィジェットで利用可能です:

  • CERT Compliance - Guidelines by Status
  • CERT Levels - Target
  • CERT Violations by Category - TreeMap
レベル

このルールはウィジェットで表示する優先度レベルを指定します。ドロップダウン メニューから このルールはウィジェットで表示する優先度レベルを指定します。メニューから L1、L2、または L3 を選択します。ガイドラインの優先度の詳細については「Background背景」を参照してください。この設定は以下のウィジェットで利用可能です:

  • CERT Compliance - Guideline by Status
  • CERT Compliance - Percentage
  • CERT Violations by Category - TreeMap
コンプライアンス プロファイルデータの表示に使用するコンプライアンス プロファイルを指定します。ほとんどの場合、これは拡張に同梱されたデフォルト プロファイルにするべきです (「CERT for Java Compliance Profileプロファイル」を参照)。この設定はすべてのウィジェットで可能です。

...

Remediation Cost および Likelihood Score ウィジェットは、CERT 固有のメトリクス データを表すように設定された、ネイティブの Metrics メトリクス - Summaryサマリー DTP ウィジェットの実装です。KPI 拡張は、SEI CERT Oracle Coding Standard for Java Remediation Cost および SEI CERT Oracle Coding Standard for Java Likelihood KPI プロファイルに従って、DTP に送られたメトリクス データに対してカスタム計算を実行します。処理されたデータはウィジェットでレポートされます。

...

  1. DTP の設定メニュー (歯車のアイコン) から [Extension Designer] を選択し、[サービス] タブをクリックします。 
  2. 拡張のためのサービス カテゴリとサービスを選択します。KPI 拡張は DTP ワークフロー カテゴリにデプロイすることを推奨します。
  3. 縦の三点メニューを開き、[読み込み] > [Local] > [Workflows] > [Security] > [Key Performance Indicator] を選択します。
  4. 空いている任意の箇所をクリックしてサービス タブにフローをドロップし、[デプロイ] をクリックします。
  5. コンプライアンス カテゴリ (DTP ワークフロー) をクリックし、サービスを展開して利用できるエンドポイントを表示します。  
  6. Key Performance Indicator セクションを展開し、エンドポイントをコピーします。Extension Designer はエンドポイント用の 2 種類のパスを表示します。API Endpoint Path は、すべての API ディレクトリを含みます。ほとんどの場合にエンドポイントを実行するために使用できます。Direct Endpoint Path は、サーバー上のエンドポイントへの直接のパスであり、API エンドポイント パスがブロックされていたりアクセス不能である場合 (たとえば認証を必要とするサード パーティとの統合などの場合) に使用できます。セクションを展開し、エンドポイントをコピーします。 
    Image RemovedImage Added
  7. 必須パラメーターと共に、REST リクエストをエンドポイントに送ります。ブラウザーでリクエストを実行したり、cURL コマンドを使用したり、リクエストをスクリプトに追加したりすることができます。以下の表で必須パラメーターについて説明します。

...

filterId

計算を実行するプロジェクトのフィルター ID。ダッシュボードの URL から素早くフィルター ID を取得できます。
 

また、DTP のフィルター設定からフィルター ID を取得することもできます (Creating and Managing Filters を参照)。

profile計算に使用するルールと重み付けのプロファイル名。
buildId計算を実行するビルド ID。ビルド 計算を実行するビルド。ビルド ID を指定しない場合、このパラメーターのデフォルトは最新ビルドです。

...

メトリクス関連の計算は、実行に時間を要する処理であり、対象データの量によっては数分かかる場合もあります。計算が完了した後、(すでにダッシュボードにある場合) ウィジェットをリフレッシュしてデータを確認します。KPI 拡張は 1 回だけデプロイする必要があります。しかし、API はプロセス (すなわち SEI CERT Oracle Coding Standard for Java Likelihood および SEI CERT Oracle Coding Standard for Java Remediation Cost) ごとに別個に呼び出さなければなりません。

メトリクスのその他の表示については、ネイティブの Metrics メトリクス - Summary DTP サマリー DTP ウィジェットのインスタンスをダッシュボードに手動で追加し、SEI CERT Oracle Coding Standard for Java Likelihood および SEI CERT Oracle Coding Standard for Java Remediation Cost メトリクスを使用するように構成し、集約値を設定することができます。

...

  • 赤いタイルは L1 の違反を表します。
  • 黄色のタイルは L2 の違反を表します。 の違反を表します。
  • 緑のタイルは L3 の違反を表します。

違反を検出した Parasoft ルールも表示されます。タイルの大きさは、ルールごとにレポートされた静的解析違反の数に比例します。 

...

このウィジェットは、モデル プロファイル で確立された階層を利用して、CERT のルール、レコメンデーション、および優先度に Parasoft ルールを相関させます。タイル上にマウス ポインタを置くと、各ルール-/ガイドライン-/カテゴリに関連する違反の数が表示されます。

Violations Explorer で違反を見るには、ルールをクリックします。

...

このウィジェットは、DTP に付属する標準の Compliance By Category ウィジェットの実装です。コンプライアンスに準拠するルールの数と割合を、ルールのカテゴリ別に表示します。

表中の項目をクリックすると、Violations by Compliance Category レポートが表示されます。 レポートが表示されます。

Top 5 CERT Categories

このウィジェットは、DTP に付属する標準の Categories カテゴリ - Top 上位 5 Table ウィジェットの実装です。最も違反の多い CERT ガイドライン カテゴリを上位 5 つ表示します。

...

Top 5 CERT Guidelines

このウィジェットは、DTP に付属する標準の Categories カテゴリ - Top 上位 5 Table ウィジェットの実装です。最も違反の多い CERT ガイドラインを上位 5 つ表示します。

...

CERT Analysis Compliance

このウィジェットは、DTP に付属する標準の Rules in Compliance 違反がないルール - Summaryサマリー ウィジェットの実装です。このウィジェットは以下の情報を表示します。

...

CERT Compliance Report は、CERT コンプライアンス ステータスの概要を提供し、準拠を証明するための主要文書の役割を果たします。

以下の操作を行うことができます。

  • ドロップダウン メニューを使って以下の条件でソートします:
    • ガイドラインの種類: ルール、レコメンデーション、またはすべて 
    • 優先度レベル: L1、L2、L3、またはすべて
    • コンプライアンス ステータス: All (すべて)、No Rules Enabled (全ルール無効化)、Compliant (準拠)、Compliant With Deviations (逸脱があるが準拠)、Compliant With Violations (違反があるが準拠)、Not Compliant (準拠していない)、Missing Rule(s) in Analysis (見つからないルールが解析に存在)
  • Violations Explorer で違反を確認するには、[違反の数] 列のリンクをクリックします。
  • Violations Explorer で違反を確認するには、[逸脱の数] 列のリンクをクリックします。
  • CERT Compliance サブ レポートの 1 つを開きます。
  • プリンター印刷に適した PDF 形式のレポートをダウンロードするには、[PDF のダウンロード] をクリックします。「Adding a Custom Graphic to the Navigation Bar」で説明するように DTP にカスタム グラフィックを追加した場合、PDF にもカスタム グラフィックが表示されます。 

...

Table of Content Zone
maxLevel2
minLevel2
locationtop

Conformance Testing Plan

Conformance Testing Plan は、コンプライアンス プロファイルで指定された CERT ガイドラインを Parasoft 静的解析ルールと相互参照します。プロファイルを構成 することによって、プロジェクトの目標を達成するために重要度、可能性、修正コスト、および他の値を変更できます。ガイドラインをクリックすると、CERT の Web サイトにある CERT ドキュメントが表示されます。

Deviation Report 

標準からの逸脱が文書化され、ソフトウェアの安全性に影響しない限り、コードは違反があっても CERT 準拠であることができます。逸脱とは、コード中で直接抑制されたコード解析ルール、または DTP の違反エクスプローラーで抑制されたコード解析ルールです。コード中で違反を抑制する方法については、Jtest のドキュメントを参照してください。DTP で違反を抑制する方法については、違反エクスプローラーのドキュメントの「違反の抑制」を参照してください。

CERT Compliance Report で Deviation Report リンクをクリックすると、Deviation Report が開きます。  

Deviations Report は、すべてのガイドラインの ID とヘッダーを表示しますが、抑制されたガイドラインには追加情報を表示します。以下の操作を行うことができます。

  1. 種類 (ルール、推奨事項、すべて) でレポートをフィルタリングしますでレポートをフィルタリングします。
  2. レベル (L1、L2、L3) でレポートをフィルタリングします。
  3. [Only Deviations] オプションを有効化して、逸脱だけを表示します。を有効化して、逸脱だけを表示します。
  4. [Hide Modification History] オプションを有効化して、逸脱の変更履歴を非表示にします。    を有効化して、逸脱の変更履歴を非表示にします。   

ビルド監査レポート

Build Audit Report は DTP のネイティブ機能です。このレポートは、コード解析違反の概要を表示するほか、ビルドに関連したテスト結果とカバレッジ情報も表示します。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で CERT への準拠を証明するために使用できるアーティファクトです。

アーカイブをダウンロードするには、ビルドがロックされていなければなりません。このレポートの詳細については「Build Audit Report」を参照してください。  

...

必要に応じて、デフォルト プロファイルの複製を作成し、ソフトウェアの品質とコンプライアンスの目標を達成するために、Parasoft コード解析ルールと CERT for Java ガイドラインの相関関係を変更できます。

  1. Extension Designer を開き、[プロファイル] タブをクリックします。
  2. CERT Compliance モデルを展開し、SEI CERT Oracle Coding Standard for Java プロファイルを選択します。
  3. [プロファイルのエクスポート] をクリックして複製をダウンロードします。
  4. 複製の名前を変更し、[プロファイルのインポート] をクリックします。
  5. 複製を選択してアップロードします。
  6. プロファイルの名前を変更し、[編集] をクリックします。
  7. 必要に応じて変更を行い、[保存] をクリックします。

...

  1. Extension Designer を開き、[プロファイル] タブをクリックします。
  2. KPI モデルを展開し、SEI CERT Oracle Coding Standard for Java Likelihood または SEI CERT Oracle Coding Standard for Java Remediation のいずれかのプロファイルを選択します。
  3. [プロファイルのエクスポート] をクリックして複製をダウンロードします。
  4. 複製の名前を変更し、[プロファイルのインポート] をクリックします。
  5. 複製を選択してアップロードします。
  6. プロファイルの名前を変更し、[編集] をクリックします。
  7. 必要に応じて変更を行い、[保存] をクリックします。

...