以前の Polyspace 解析からレビュー情報をインポート
このトピックでは、Polyspace® Access™ にまだアップロードされていない以前の結果からレビュー情報をインポートする方法について説明します。Polyspace Access にアップロードされた結果からのインポートの詳細については、既存の Polyspace Access プロジェクトからのレビュー情報のインポート (Polyspace Access)を参照してください。
解析結果のレビュー後、レビューで得た情報を以降の解析に再利用できます。結果ファイルで指定したステータスや重大度、追加のメモは、同じプロジェクトの次回の解析結果に引き継がれます。同じ情報をコメントとしてコードに追加する (注釈を付ける) 場合、それらは同じプロジェクトかどうかにかかわらず、そのコードの以降の解析に引き継がれます。コード注釈を使用して結果を非表示にすることもできます。コメントの詳細については、バグ修正または正当化による Polyspace の結果への対処を参照してください。
このトピックでは、1 つの結果ファイルから別の結果ファイルにレビュー情報をインポートする方法を説明します。レビュー情報をインポートすると、既に正当化されている結果をレビューする手間が省けます。情報をインポートしてから、[結果のリスト] でフィルターを使用して正当化済みの結果を除外できます。
前回の解析からの自動インポート
Polyspace Platform ユーザー インターフェイスでは、前回の解析のレビュー情報が自動的にインポートされます。
解析をコマンド ラインで実行する場合 (Polyspace Access Web インターフェイスに結果をアップロードしない場合)、結果の別のセットから明示的にインポートする必要があります。コマンド ラインを参照してください。
別の解析結果からのインポート
Polyspace の別の結果から現在の結果にレビュー情報を直接インポートできます。
結果が Bug Finder と Code Prover の両方の解析で見つかった場合、Bug Finder の結果にレビュー情報を追加して、Code Prover の結果にインポートできます。たとえば、ほとんどのコーディング ルール チェッカーは Bug Finder と Code Prover で共通です。Bug Finder のコーディング ルール違反にレビュー情報を追加して、Code Prover の同じ違反にインポートできます。
Polyspace Platform ユーザー インターフェイス
別の結果のセットからのレビュー情報をインポートするには、以下を行います。
現在の解析結果を開きます。
ツールストリップから [コメントのインポート] を選択します。
過去の結果が格納されているフォルダーに移動します。
(拡張子が
.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;
しかし、行の内容自体を変更した (たとえば、
numRecipientをnumReceiverに変更した) 場合、結果とレビュー情報が部分的にインポートされ、ステータスが未確認に設定されます。インポートしたレビュー情報を再確認し、変更された内容にコメントが引き続き適用されるかどうかを確認します。ソース コードが変更されたため、Code Prover の結果の色が変わった。Code Prover でチェックの色が変わっている場合、Polyspace で [コメント] フィールドはインポートされますが、[ステータス] フィールドはインポートされません。また、Polyspace で [重大度] フィールドおよび [正当化済み] フィールドがインポートされるかどうかは、色の変化に応じて異なります。
色の変化 重大度 正当化済み オレンジまたはレッドからグリーン インポートされない インポートされる グレーからグリーン インポートされない インポートされる ([重大度] が [High]、[Medium]または[Low]に設定された場合)レッドからオレンジまたはその逆 インポートされる インポートされる グリーンからレッド/オレンジ/グレー インポートされない インポートされない 同じ結果に対して新しいレビュー情報が入力された。
レビュー情報が関連付けられていたソース ファイルが削除された。プロジェクトからファイルを削除して解析を実行すると、Polyspace は後続の実行で、そのファイルに関連付けられているレビュー情報をインポートしません。ファイルをプロジェクトに再び追加しても、Polyspace はそのファイルを新しいファイルとして扱い、古い実行からのレビュー情報がインポートされることはありません。
行の内容が変更されておらず、結果が以前の解析と同じ場合は、レビュー情報がインポートされます。あまり起こらないシナリオですが、ある結果が得られた行を変更したにもかかわらず、同じ行で同じ結果が得られることがあります。この場合、以前の解析からのレビュー情報が新しい結果にインポートされます。以前の結果を [欠陥ではない] などのステータスで正当化している場合の多くは、新しい結果に対しても引き続きこの正当化を使用します。たとえば、以前、オーバーフロー後のラップアラウンド動作があるので、オーバーフローを承諾した場合、原因が何かにかかわらずオーバーフローを承諾することが考えられます。稀な例ですが、結果を再レビューして、その結果に再レビューを行うだけのメリットがなかったと気付く場合があります。このような状況を回避するには、以下を行います。
以前のイベントに関連するローカル以外の結果を正当化するとき、注意深く判断します。
重要なコンポーネントでは、正当化が今でも適用されるかどうかを確認するため、正当化した結果の定期的な評価を実施します。このような評価は、Code Prover の実行時チェックで特に有用です。
参考
-import-comments | polyspace-comments-import
トピック
- 既存の Polyspace Access プロジェクトからのレビュー情報のインポート (Polyspace Access)