メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

以前の Polyspace 解析からレビュー情報をインポート

このトピックでは、Polyspace® Access™ にまだアップロードされていない以前の結果からレビュー情報をインポートする方法について説明します。Polyspace Access にアップロードされた結果からのインポートの詳細については、既存の Polyspace Access プロジェクトからのレビュー情報のインポート (Polyspace Access)を参照してください。

解析結果のレビュー後、レビューで得た情報を以降の解析に再利用できます。結果ファイルで指定したステータスや重大度、追加のメモは、同じプロジェクトの次回の解析結果に引き継がれます。同じ情報をコメントとしてコードに追加する (注釈を付ける) 場合、それらは同じプロジェクトかどうかにかかわらず、そのコードの以降の解析に引き継がれます。コード注釈を使用して結果を非表示にすることもできます。コメントについての詳細は、Polyspace ユーザー インターフェイスでのバグ修正または正当化による結果への対処を参照してください。

このトピックでは、1 つの結果ファイルから別の結果ファイルにレビュー情報をインポートする方法を説明します。レビュー情報をインポートすると、既に正当化されている結果をレビューする手間が省けます。たとえば、情報をインポート後、[結果のリスト] ペイン (デスクトップ製品のユーザー インターフェイス) で アイコンをクリックすると正当化された結果をスキップします。このアイコンを使用して、レビューされていない結果を参照できます。正当化されたチェックを表示からフィルターできます。

前回の解析からの自動インポート

既定では、プロジェクト モジュールの最新の解析からレビュー情報が自動的にインポートされます。この既定の動作は Polyspace デスクトップ ユーザー インターフェイスで無効にできます。

  1. [ツール][基本設定] を選択します。[Polyspace の設定] ダイアログ ボックスが開きます。

  2. [プロジェクトと結果フォルダー] タブを選択します。

  3. [コメントのインポート] で、[前回の検証のコメントを自動的にインポートする] をオフにします。

  4. [OK] をクリックします。

前回の解析からの自動インポートを無効にする機能は、Polyspace Platform ユーザー インターフェイスでは利用できません。

解析をコマンド ラインで実行する場合 (Polyspace Access Web インターフェイスに結果をアップロードしない場合)、結果の別のセットから明示的にインポートする必要があります。コマンド ラインを参照してください。

別の解析結果からのインポート

Polyspace の別の結果から現在の結果にレビュー情報を直接インポートできます。

結果が Bug Finder と Code Prover の両方の解析で見つかった場合、Bug Finder の結果にレビュー情報を追加して、Code Prover の結果にインポートできます。たとえば、ほとんどのコーディング ルール チェッカーは Bug Finder と Code Prover で共通です。Bug Finder のコーディング ルール違反にレビュー情報を追加して、Code Prover の同じ違反にインポートできます。

ユーザー インターフェイス (デスクトップ製品のみ)

別の結果のセットからのレビュー情報をインポートするには、以下を行います。

  1. 現在の解析結果を開きます。

  2. [ツール][コメントのインポート] を選択します。

  3. 過去の結果が格納されているフォルダーに移動します。

  4. (拡張子が .psbf または .pscp である) 別の結果ファイルを選択してから [開く] をクリックします。

    以前の結果のレビュー情報が現在の結果にインポートされます。

Polyspace Platform ユーザー インターフェイス

別の結果のセットからのレビュー情報をインポートするには、以下を行います。

  1. 現在の解析結果を開きます。

  2. ツールストリップから [コメントのインポート] を選択します。

  3. 過去の結果が格納されているフォルダーに移動します。

  4. (拡張子が .psbf または .pscp である) 別の結果ファイルを選択してから [開く] をクリックします。

    以前の結果のレビュー情報が現在の結果にインポートされます。

コマンド ライン

解析時にオプション -import-comments を使用して以前の検証からコメントをインポートします。

複数の結果からレビュー情報をインポートするには、polyspace-comments-import コマンドを使用します。

アルゴリズムのインポート

別の結果セットのレビュー情報を現在の結果に直接インポートすることができます。ただし、以下の理由により、レビュー情報の一部が以降の解析にインポートされない可能性があります。

  • ソース コードが変更されたため、前の結果の行が現在の実行の行と厳密に同じものではなくなった。

    コメント インポート ツールでは、既存の行を単純にシフトした追加のコードは考慮されます。たとえば、実行 1 の 10 行目と実行 2 の 12 行目のステートメントが同じであることをツールは認識します。実行 1 の 10 行目でゼロ除算が行われていて、実行 2 でその問題を修正していない場合、関連付けられたレビュー情報と共にその結果が実行 2 の 12 行目にインポートされます。

    • 実行 1:

      10 baseLine = min/numRecipients;
      11 
      12 
    • 実行 2:

      10 /* Calculate a baseline per recipient
      11    based on minimum available resources */
      12 baseLine = min/numRecipients;

    しかし、行の内容自体を変更した (たとえば、numRecipientnumReceiver に変更した) 場合、結果とレビュー情報が部分的にインポートされ、ステータスが未確認に設定されます。インポートしたレビュー情報を再確認し、変更された内容にコメントが引き続き適用されるかどうかを確認します。

  • ソース コードが変更されたため、Code Prover の結果の色が変わった。

  • 同じ結果に対して新しいレビュー情報が入力された。

  • レビュー情報が関連付けられていたソース ファイルが削除された。プロジェクトからファイルを削除して解析を実行すると、Polyspace は後続の実行で、そのファイルに関連付けられているレビュー情報をインポートしません。ファイルをプロジェクトに再び追加しても、Polyspace はそのファイルを新しいファイルとして扱い、古い実行からのレビュー情報がインポートされることはありません。

行の内容が変更されておらず、結果が以前の解析と同じ場合は、レビュー情報がインポートされます。あまり起こらないシナリオですが、ある結果が得られた行を変更したにもかかわらず、同じ行で同じ結果が得られることがあります。この場合、以前の解析からのレビュー情報が新しい結果にインポートされます。以前の結果を [欠陥ではない] などのステータスで正当化している場合の多くは、新しい結果に対しても引き続きこの正当化を使用します。たとえば、以前、オーバーフロー後のラップアラウンド動作があるので、オーバーフローを承諾した場合、原因が何かにかかわらずオーバーフローを承諾することが考えられます。稀な例ですが、結果を再レビューして、その結果に再レビューを行うだけのメリットがなかったと気付く場合があります。このような状況を回避するには、以下を行います。

  • 以前のイベントに関連するローカル以外の結果を正当化するとき、注意深く判断します。

  • 重要なコンポーネントでは、正当化が今でも適用されるかどうかを確認するため、正当化した結果の定期的な評価を実施します。このような評価は、Code Prover の実行時チェックで特に有用です。

適用されないインポート済みレビュー情報の表示

Polyspace ユーザー インターフェイス (デスクトップ製品のみ) では、[チェックとコメントのインポート レポート] に 2 つの解析結果の違いが強調表示されます。以前の解析からのレビュー情報のインポート時に、このレポートを確認できます。インポート後にレポートを閉じた場合のレポートの再表示手順は次のとおりです。

  1. [ウィンドウ][ビューの表示/非表示][コメント レポートのインポート] を選択します。

    [チェックとコメントのインポート レポート] が開き、2 つの結果の違いが強調表示されます。

    Import Checks and Comments Report window

  2. 2 つの結果の違いを確認します。

レビュー情報は、以下の理由により、2 つの結果で異なることがあります。

  • Code Prover では、チェックの色が変わっている場合、Polyspace で [コメント] フィールドはインポートされますが、[ステータス] フィールドはインポートされません。また、Polyspace で [重大度] フィールドおよび [正当化済み] フィールドがインポートされるかどうかは、色の変化に応じて異なります。

    色の変化重大度正当化済み
    オレンジまたはレッドからグリーンインポートされないインポートされる
    グレーからグリーンインポートされないインポートされる ([重大度][High][Medium] または [Low] に設定された場合)
    レッドからオレンジまたはその逆インポートされるインポートされる
    グリーンからレッド/オレンジ/グレーインポートされないインポートされない
  • コードに結果が表示されなくなった場合、Polyspace の [チェックとコメントのインポート レポート] では変更のみが強調表示されます。前回の結果のレビュー情報はインポートされません。

  • 同じチェックに対して既に別のレビュー情報が入力されている場合、Polyspace の [チェックとコメントのインポート レポート] では変更のみが強調表示されます。前回の結果のレビュー情報はインポートされません。

参考

|

トピック