メインコンテンツ

Visual Studio Code での Polyspace as You Code の実行と結果のレビュー

Polyspace as You Code 拡張機能を構成したら、解析を実行して調査結果を修正または正当化できます。このガイドの先に進む前に、example.hppexample_source.cpp[品質監視] リストに追加済みであることを確認してください。

Visual Studio Code での Polyspace as You Code 解析の実行

解析を実行するには次の方法があります。

  • [Analysis Of Files On Save] を設定して、編集したファイルの保存時に解析が実行されるようにします。

  • ファイルを右クリックし、[Polyspace 解析の実行] を選択します。

  • 手動でファイルを [品質監視] リストに追加し、[Polyspace 解析の実行] ボタン run polyspace analysis icon をクリックしてファイルを解析します。

example_source.cpp の横にある [Polyspace 解析の実行] をクリックして解析を実行します。

 手動による解析の実行

調査結果の確認、修正、または正当化

Polyspace® による解析の実行後、[品質監視] ペイン内のファイル名は、調査結果がない場合は緑で、調査結果がある場合は赤で表示されます。ファイル名の右側に示される数字は、調査結果の数を示します。[問題] ペインで調査結果を確認します。[問題] ペインを開くには、[品質監視] ペインでファイル名をクリックします。

[問題] ペインには、すべての調査結果がリストとして表示されます。特定の調査結果を検索するには、[問題] ペイン内のフィルターを使用します。各調査結果には、コード内でその結果が見つかった場所を示す行および列番号が記載されます。

サンプル コードに対して解析を実行した後、[問題] ペインで結果を開きます。フィルターを使用して A16-2-3 を検索します。5 行目の 5 列目に結果が 1 つあります。

[問題] ペインで調査結果をクリックして、この結果が含まれるファイルを開きます。ファイル内では各調査結果が赤の下線で示されます。コード内で下線が引かれたセクションにカーソルを合わせると、その問題に関連する各調査結果のリストが表示されます。

サンプル コードの 2 行目に、以下のインクルードを追加します。

#include <cstdint>
この変更を保存して、別の解析を実行します。5 行目の A16-2-3 エラーは存在しなくなります。

自動解析を有効にすると、コードの作成中に調査結果を見つけて修正することができます。変更を保存するたびに、バックグラウンドで Polyspace 解析が開始され、新しい調査結果が見つかった場合はそれが表示され、修正された調査結果はリストから削除されます。

 調査結果の確認と修正

個々の調査結果の正当化

調査結果の正当化は、[問題] ペインから行うことも、コード内のその調査結果に該当する場所で行うこともできます。

[問題] ペインで調査結果をクリックすると、レッド エラー アイコン error icon が電球アイコン light bulb icon に変わります。電球アイコンをクリックし、メニューから適切な正当化を選択します。これにより、修正可能なコメントがコードに追加されます。正当化を追加すると、その調査結果が [問題] ペインから削除されます。調査結果を再度表示するには、正当化のコメントを削除してから解析を実行します。

 調査結果の正当化

正当化カタログの指定

事前定義された正当化のカタログを Polyspace as You Code に追加することができます。正当化カタログを使用すると、正当化のコメントをそれぞれ手動で入力するのではなく、前もって作成された正当化を選択できます。

Visual Studio Code の [設定] を開き、polyspace.justification.catalog を検索します。テキスト ボックスに、インストール場所を基準とした、正当化カタログの相対パスを入力します。カタログは JSON 形式でなければなりません。既存の正当化カタログがない場合は、以下のサンプル JSON ファイルを使用できます。

example_catalog.json

{
	"justifications": [
		{
		"family": "Defect",
		"acronym": "INT_ZERO_DIV",
		"comment": "This is my justification for division"
		},
		{
		"family": "Defect",
		"acronym": "INT_ZERO_DIV",
		"comment": "Alternative justification for division"
		}
	]
}

 正当化カタログの指定

ヘッダーの調査結果の確認

ソース ファイルの解析時にヘッダー ファイルで調査結果が見つかった場合は、[問題] ペインにそれらの調査結果が表示されます。ヘッダーに調査結果が含まれる場合、[品質監視] リスト内のソース ファイルの横に赤い [H] で示されます。

[問題] ペインでヘッダーの調査結果をクリックして、この調査結果が含まれるヘッダー ファイルを開きます。ヘッダーの調査結果がどのソース ファイルの解析によって見つかったかを確認するには、[問題] ペインで調査結果の横にある電球アイコン light bulb icon をクリックし、調査結果に関する詳細を表示するオプションをクリックします。

 ヘッダーの調査結果の確認

潜在的な重複コードのチェック

Polyspace は、潜在的な、コピーして貼り付けのエラー、重複コード、その他のコード リファクタリングの可能性をチェックします。

[問題] ペインで [コピーして貼り付けのエラーの可能性あり] をクリックすると、詳細情報が [結果の詳細] ペインに表示されます。[トレースバック] ノードを展開して、重複セクションが発生している箇所を特定して詳細情報を確認します。Visual Studio Code のピーク ウィンドウで潜在的なエラーを確認するには、[結果の詳細] ペインで [コピーして貼り付けのエラーの可能性あり] をポイントし、[ソース内のピーク ビューの切り替え] アイコン toggle peek view in source icon をクリックします。

 潜在的な重複コードのチェック