メインコンテンツ

Polyspace Metrics から Polyspace Access への結果の移行

Polyspace® Metrics を使用して結果を保存し、ソース コードの品質を監視する場合は、これらの結果を PolyspaceAccess™ に転送できます。

PolyspaceAccess[ダッシュボード] パースペクティブは、プロジェクトと結果カテゴリ間をナビゲーションできる Web インターフェイスとして利用できます。[プロジェクトの概要] ダッシュボードでは、全プロジェクトの集約統計を表示し、ドリル ダウンしてカテゴリ別またはファイル別の結果の詳細を確認できます。調査結果ファミリごとに追加のダッシュボードが開き、詳細が表示されます。対応が必要な調査結果を絞り込んだら、[レビュー] パースペクティブでそれらの調査結果を開き、個々の結果のレビューを開始します。

メモ

[レビュー] パースペクティブは、Polyspace 製品の version R2019a 以降で生成された解析結果でのみ使用可能です。Polyspace Access に移行した R2018b 以前の結果をレビューするには、Polyspace Access から結果を開くまたはエクスポートする (Polyspace Access)を参照してください。

Polyspace デスクトップ インターフェイスで結果を開いて、Polyspace Access から結果をレビューすることもできます。デスクトップ インターフェイスで PolyspaceAccess の結果を表示するために、これらの結果のローカル コピーをダウンロードする必要はありません。結果に対する編集内容は Polyspace Access に直接保存され、コラボレーション レビューを実施できます。

移行の要件

Metrics リポジトリから Polyspace Access データベースに結果を転送するには、polyspace-access バイナリが必要です。このバイナリは、Polyspace がインストールされている polyspaceroot/polyspace/bin フォルダーにあります。polyspaceroot は Polyspace 製品インストール フォルダー (C:\Program Files\Polyspace Server\2019a など) です。

構文と例については、polyspace-access -generate-migration-commands (Polyspace Access)polyspace-access -migrate (Polyspace Access) を参照してください。

結果の移行

Polyspace Metrics から Polyspace Access へ結果を移行するには、次の手順に従います。以下の操作を行うには、Metrics サーバーにログインする必要があります。

  1. Metrics の結果リポジトリの場所を特定します。Polyspace Metrics の結果は、その場所の results-repository フォルダーに保存されています。

    この場所のパスを表示するには、デスクトップ インターフェイスから [ツール][Metrics サーバー設定] に移動します。またはコマンド ラインでコマンド psqueue-check-config を実行します。

    既定では、結果は Windows® では C:\Users\username\AppData\Roaming\Polyspace_RLDatas\results-repository、Linux® では /home/username/.polyspace/results-repository に保存されます。username は、コンピューターのログイン ユーザー名です。

  2. 移行スクリプトを生成します。

    結果の転送元リポジトリのフォルダーを特定したら、移行手法を定義します。すべてのプロジェクトを転送するか、または転送対象を特定のプロジェクトのセットに絞り込むことができます。

    以下の表に示すオプションを使用してプロジェクトのセットを指定します。

    オプション説明

    -max-project-runs int

    各プロジェクトで移行する直近の解析実行の数。たとえば、プロジェクトの直近 2 件の解析実行のみを移行するには、2 を指定します。

    -project-date-after YYYY[-MM[-DD]]

    指定された日付以降に Polyspace Metrics にアップロードされた結果のみを移行します。

    -product productName

    プロジェクト調査結果を解析および生成するために使用した製品。bug-findercode-prover、または polyspace-ada として指定します。

    -analysis-mode mode

    プロジェクト調査結果を生成するために使用した解析モード。integration または unit-by-unit として指定します。

    たとえば、2017 年 6 月以降に Polyspace Metrics にアップロードした Polyspace Bug Finder™ 解析結果のみを転送するには、次のコマンドを使用します。

    polyspace-access -generate-migration-commands ^
    C:\Users\username\AppData\Roaming\Polyspace_RLDatas\results-repository ^
    -output-folder-path C:\Polyspace_Workspace\Migrate^
    -project-date-after 2017-06^
    -product bug-finder
    このコマンドの出力は、C:\Users\username\AppData\Roaming\Polyspace_RLDatas\results-repository に保存されており、指定された製品と日付に一致する各プロジェクトの移行スクリプト ファイルです。移行スクリプトは C:\Polyspace_Workspace\Migrate に保存されます。

    続行する前に、必要に応じて移行スクリプトをテキスト エディターで開き、-project パラメーターまたは -parent-project パラメーターを変更できます。これらのパラメーターはそれぞれ、プロジェクト名と、Polyspace Access でプロジェクトが保存されているフォルダーに対応しています。

  3. プロジェクトを移行します。

    移行スクリプトの生成後に、選択されているすべてのプロジェクトを転送するには、次の移行コマンドでこれらのスクリプトを使用します。

    polyspace-access -host hostName -port port  ^
    -migrate -option-file-path ^
    C:\Polyspace_Workspace\Migrate
    このコマンドにより、C:\Polyspace_Workspace\Migrate で移行スクリプトが検索され、hostName に指定された Polyspace Access インスタンスに結果がアップロードされます。プロンプトで Polyspace Access ユーザー名とパスワードを入力します。

    hostNameport は、Polyspace Access インターフェイスの URL (例: https://hostName:port/metrics/index.html) に指定するホスト名とポート番号に対応します。使用するホスト名とポート番号がわからない場合は、Polyspace Access 管理者にお問い合わせください。構成によっては、移行コマンドに -protocol オプションを指定しなければならない場合もあります。

    移行スクリプトの実行中に、コマンドにより一時 STARTED ファイルが生成されます。移行スクリプトの実行が正常に完了するたびに、コマンドにより STARTED ファイルが削除され、対応する DONE ファイルがスクリプトと同じフォルダーに生成されます。たとえば、foo.started の実行中にコマンドにより foo.cmd が生成され、foo.cmd が完了すると foo.done が生成されます。Metrics から Access への移行が完了するまでは、これらの DONE ファイルを削除しないでください。

    転送するデータの量とネットワーク構成によっては、移行に時間がかかることがあります。転送を中断し、後で中断した時点から続行できます。転送を停止するには、"Ctrl+C" を押します。転送を再開するには、次のようにします。

    1. 移行スクリプトを保存したフォルダーに移動して、テキスト エディターで STARTED ファイルを開きます。このファイルが移行スクリプト フォルダーのサブフォルダーに含まれている場合があります。

    2. ファイルに記載されている指示に従い、移行開始時に使用した移行コマンドを再利用します。このコマンドでは、正常にアップロードされたプロジェクトはスキップされます。

プロジェクトの移行が失敗した場合は、移行スクリプト フォルダーに移動します。FAILED ファイルで詳細を確認します。

Polyspace Metrics と Polyspace Access での SQO の相違点

Polyspace Metrics から Polyspace Access にプロジェクトを移行した後で、ソフトウェア品質目標に照らした Polyspace Code Prover の結果の評価 (Polyspace Code Prover)に照らしてコード品質を調べると、相違点に気付くことがあります。

この相違点は、Polyspace Metrics と Polyspace Access での品質目標のしきい値の計算方法に起因します。Polyspace Metrics は個々のファイルを調べ、指定された SQO しきい値にコードが達しているかどうかを判断します。たとえば、ファイル foo.c がしきい値 SQO2 に達していない場合、プロジェクト全体がこのしきい値に達していないことになります。

Polyspace Access はプロジェクト全体を調べ、ソース コードが、指定された SQO しきい値に達しているかどうかを判断します。ファイル foo.c がしきい値に達していない場合でも、プロジェクト全体として、指定されている品質目標しきい値を満たすことは可能です。

参考

トピック