Main Content

コマンド ラインで Polyspace as You Code の結果をベースラインとして設定する

バグ修正を効率化するため、前の結果を Polyspace Bug Finder Server 解析の結果のベースラインとして使用できます。結果をベースラインとして使用する場合、結果を前の実行の結果と比較して、新しい結果または未レビューの結果のみに注目します。Polyspace® Access™ からダウンロードした、Polyspace Bug Finder™ Server™ のこれまでの結果を使用して、Polyspace as You Code の結果のベースラインを設定します。

メモ

常に最新のベースライン情報を使用するために、Polyspace Access から結果をダウンロードするコマンドを定期的に実行してください。手順 2: ベースラインのダウンロードを参照してください。

Results that appear in Polyspace Access act as baseline for a Polyspace as You Code analysis.

ベースライン結果の内容

ベースラインの設定の効果は、結果をコンソールまたは JSON 形式 (SARIF) のどちらにエクスポートするかによって異なります。これらの形式についての詳細は、polyspace-results-export (Polyspace Bug Finder) を参照してください。

コンソール出力

Polyspace Access で正当化されている、[ステータス][アクションの予定なし][正当化済み]、または [欠陥ではない] の結果は、コンソール出力に表示されなくなります。

JSON 出力

以下の説明での obj は Polyspace の結果からエクスポートされる JSON オブジェクトを表しています。

  • 結果が新しいものであり、Polyspace Access にまだ存在していない場合、対応するプロパティ obj.runs[0].results[n].baselineState"new" に設定されます。

    "baselineState" : "new"
    それ以外の場合、このプロパティは "unchanged" に設定されます。

  • 結果のレビュー情報 ([ステータス][重大度]、追加のメモ) が、Polyspace Access から obj.runs[0].results[n].properties の対応するプロパティに引き継がれます。

    たとえば、ベースラインを使用しない場合にはこれらのプロパティは次のようになります。

    "severity" : "Unset",
    "status" : "Unreviewed",
    "comment" : ""
    ベースラインを使用する場合、severity"Unset" ではなく、status"Unreviewed" ではない可能性があります。

  • Polyspace Access で正当化されている、[ステータス][アクションの予定なし][正当化済み]、または [欠陥ではない] の結果は、プロパティ obj.runs[0].results[n].properties.justifiedtrue に設定された状態で表示されます。

    "justified" : true

ベースラインの設定手順

Polyspace Bug Finder Server の結果を Polyspace as You Code 解析のベースラインとして使用するには、次の手順に従います。

手順 1: ベースラインとして使用するプロジェクトの特定

最初に、ベースラインとして使用するプロジェクトを Polyspace Access で特定します。このプロジェクトには、Polyspace as You Code で解析するファイルに対する Polyspace Bug Finder Server 解析の結果が含まれていなければなりません。

ベースラインとして使用するプロジェクトのパスをコピーします。このパスをコピーするには、次のようにします。

  1. Web ブラウザーで Polyspace Access Web インターフェイスを開きます。

  2. [プロジェクト エクスプローラー] ペインでプロジェクトを右クリックし、[プロジェクト パスをクリップボードにコピー] を選択します。

Right-click option to copy project path

手順 2: ベースラインのダウンロード

次に、Polyspace Access プロジェクトからベースライン情報をダウンロードします。たとえば、ターミナルで以下を入力します。

polyspace-access -host hostname -download projectPath -output-folder-path downloadFolder
ここで:

  • hostname は、Polyspace Access サーバーの名前です。

  • projectPath は、ベースラインとして使用する Polyspace Access のプロジェクトのパスです。この名前は、Polyspace Access Web インターフェイスから既にコピーしています。

  • downloadFolder は、ベースライン情報をダウンロードするフォルダーです。

ダウンロードの完了後には、結果 (ps_results.psbf)、ソース ファイル (ps_sources.db)、レビュー情報 (ps_comments.db) の 3 つのデータベースがフォルダーに含まれています。結果を Polyspace ユーザー インターフェイスで開くことや、Polyspace as You Code 実行のベースライン以外の方法で使用することはできません。

フォルダーには、Access プロジェクトの情報と、ベースラインとして使用された実行 ID を含むファイル ps_access_info.json も含まれています。必要に応じて、Polyspace Access のプロジェクトの最新実行 ID とこの実行 ID を比較するスクリプトを作成し、ワークフローの特定の時点でこのスクリプトを実行することで、常にこのプロジェクトの最新実行をベースラインとして使用できます。

手順 3: ベースラインの使用

ベースラインのダウンロードが完了したら、オプション -import-comments を使用して、ダウンロードしたベースライン情報を現在の解析にインポートします。ターミナルで以下を入力します。

#Linux command
polyspace-bug-finder-access -sources filename -import-comments downloadFolder \
-results-dir resultsFolder

#DOS command

polyspace-bug-finder-access.exe -sources filename -import-comments downloadFolder ^
-results-dir resultsFolder

ここで:

  • filename は、解析される現在のファイルです。

  • downloadFolder は、以前にベースライン情報をダウンロードしたフォルダーです。

  • resultsFolder は、解析結果を保存するフォルダーです。

polyspace-results-export コマンドを使用して解析結果をエクスポートするときに、ベースラインの使用効果を確認できます。次に例を示します。

polyspace-results-export -format console -results-dir resultsFolder
ベースライン結果の内容も参照してください。

参考

| (Polyspace Bug Finder)

関連するトピック