このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
製品アップグレード後の Polyspace プロジェクトの移行
このトピックでは、既存の Polyspace® プロジェクトまたは構成を Polyspace の新しいリリースに移行する方法を説明します。Polyspace Access の結果データベースを Polyspace Access の新しいリリースに移行する方法については、Polyspace Access の更新のインストールまたは新バージョンへのアップグレード (Polyspace Access)を参照してください。
Polyspace 製品を新しいリリースにアップグレードする場合は、既存のプロジェクトを新しいリリースに移行する必要があります。通常、新しいリリースへの古いプロジェクトの移行は、新しいリリースのユーザー インターフェイスで古いプロジェクトを開くだけで簡単に行えます。たとえばリリース間で Polyspace 解析オプションの名前が変更された場合、Polyspace デスクトップ製品のユーザー インターフェイスではこの変更が自動的に処理されます。
ただし、Polyspace のリリースが新しくなるたびに、新しいオプションが導入され、結果が改善され、ユーザー ワークフローが向上します。新しいリリースにアップグレードするときには、以下の変更を考慮する必要がある場合があります。
オプションの変更を考慮する
解析オプションのほとんどの変更は、Polyspace デスクトップ製品のユーザー インターフェイスによって処理されます。ただし、場合によっては、オプションを明示的に更新する必要があります。たとえば、コマンド ライン専用オプションを解析構成の [その他]
フィールドに入力し、そのオプションが新しいリリースで廃止になった場合は、オプションを明示的に削除する必要があります。
解析をコマンド ラインで実行する場合、必要に応じてオプションを明示的に更新する必要があります。
手順 1: 解析の再実行
現行リリースで削除された (かつ、ユーザー インターフェイスで自動的に処理されていない) オプションを確認するには、次のようにします。
現行リリースのユーザー インターフェイスでプロジェクトを開きます。
解析を再実行し、[出力の概要] ペインでメッセージを確認します。
近い将来のリリースで削除される予定のオプションがある場合は警告が表示されます。
削除されたオプションがある場合はエラーが表示され、解析が停止されます。
解析をコマンド ラインから実行している場合、解析ログに同じエラーと警告が表示されます。Polyspace 解析が停止したときのエラー情報の表示も参照してください。
手順 2: オプションの更新
不要になったオプションは、代替オプションに置き換えられるか、または完全に削除されることがあります。オプションとは一般に、解析の既定の動作を変更するものです。そのため、新しいリリースで既定の動作自体が変更された場合には、オプションが不要となることがあります。
[出力の概要] ペインのメッセージには、オプションが近い将来のリリースで削除される予定であるか、またはすでに削除されているかどうかのみが示されます。オプションが削除された理由や、代わりのオプションを知るには、製品リリース ノートを確認してください。
リリース ノートの「Changes in analysis options and binaries」というエントリに、各リリースのオプションの変更内容がすべて示されています。このエントリを読み、オプションが別のオプションで置き換えられているか、または不要になったかを確認してください。
オプションが別のオプションで置き換えられている場合は、この新しいオプションに変更します。
オプションが不要となった場合は、解析構成からそのオプションを削除します。
結果の改善点を考慮する
通常、Polyspace の新しいリリースでは、以前のリリースよりも精度が向上しています。つまり、同じソース ファイルと解析オプションを使用した場合でも、結果が異なる可能性があります。たとえば Polyspace Bug Finder™ 解析では、以前のリリースでの特定の誤検知が表示されなくなることがあります。
多数のプロジェクトを移行する前に、1 つまたは少数のプロジェクトを試しに移行し、移行後に生じる結果の変化を観察することをお勧めします。このように試験的に移行することで、すべてを移行した後で想定される変化を把握できます。
手順 1: 結果の比較
この手順に従って、2 つのリリースでのプロジェクトの結果を比較します。
両方のリリースで同じプロジェクトに対して解析を実行します。
Polyspace デスクトップ製品を使用している場合は、2 つの Polyspace リリースのユーザー インターフェイスで同じプロジェクト (
.psprj
ファイル) に対して解析を実行します。Polyspace サーバー製品を使用している場合は、2 つの実行で同じスクリプトを使用し、Polyspace バイナリのパスのみを変更して解析を実行します。
解析が完了したら、ログで予期しない警告があるかどうかを確認します。たとえば、新しいリリースには古いリリースになかったチェッカーが含まれているという警告が Polyspace によって示されることがあります。
2 つの実行を比較し、すべての変化が製品のアップグレードによるものであると判断できるのは、ソース コードと分析オプションが同一である場合に限られます。2 つの実行の間でソースおよびオプションが変更されていないことを確認してください。新しいリリースでオプションの変更が必要となることがありますが、このような変更では、古いオプションが新しいオプションに置換される (あるいは冗長なオプションが削除される) だけです。オプションの変更を考慮するを参照してください。
2 つの結果セットを比較して、結果の変更内容を確認します。Polyspace デスクトップ ユーザー インターフェイスで 2 つの結果セットを比較するには、次のようにします。
新しい結果セットを開きます。
[ツール] 、 [コメントのインポート] を選択して、以前の結果セットからインポートします。
インポート完了後に [新規] ボタンをクリックします。
引き続き表示されている結果は、現在の解析による新しい結果です。コメントのインポートの詳細については、以前の Polyspace 解析からレビュー情報をインポートを参照してください。
Polyspace Access™ Web インターフェイスで 2 つの結果セットを比較するには、次のようにします。
両方の結果セットを同一の Polyspace Access プロジェクトにアップロードします。
polyspace-access
コマンドを使用してアップロードするか、またはPolyspace デスクトップ ユーザー インターフェイスからアップロードできます。Polyspace Access の比較の実行機能を使用して、アップロードした 2 つの結果を比較します。Compare Results in Polyspace Access Project to Previous Runs and View Trends (Polyspace Access)を参照してください。
手順 2: 結果の変更内容の解釈
解析エンジンの向上により、同一のソース コードと解析構成を使用しても、結果が異なることがあります。Understanding Changes in Polyspace Results After Product Upgradeを参照してください。
結果で変化した点を考慮するために、次の 1 つ以上の操作を試してください。
冗長なコード注釈の削除。
結果を正当化するコード注釈を入力していたものの、その結果が表示されなくなった場合には、不要なコード注釈を削除します。該当する結果がなくなったコード注釈は、解析ログに警告として表示されます。コード注釈の警告を参照してください。
品質ゲートまたは品質目標の更新。
場合によっては、チェッカーの仕様または解析精度の変更が特定のタイプの結果に影響することがあります。この変更に対応するために、品質ゲートまたは品質目標の更新が必要になることがあります。たとえば、アップグレード前はレッドの [不適切にデリファレンスされたポインター] Code Prover チェックのみを修正または正当化する必要があったものが、オレンジ チェックも対象とする必要が生じる場合があります。
Bug Finder を実行している場合は、製品アップグレード後に新しいチェッカーを有効にする必要が生じることもあります。このようなチェッカーは、現行リリースで新たに導入されたものであるか、または以前のリリースと比較して誤検知が減少したものである可能性があります。Polyspace Bug Finder のリリース ノートの [Analysis results] セクションで、新しいチェッカーや更新されたチェッカーがないかを確認してください。