メインコンテンツ

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

Polyspace® as You Code を、Visual Studio® でコードを保存するたびに自動的に実行するか、手動で実行するかを選択できます。解析は IDE で現在アクティブなファイルに対して実行されます。(ファイルは Visual Studio プロジェクトの一部でなければなりません。そのプロジェクトは Visual Studio ソリューションの一部である場合があります。)解析の実行後に、バグおよびコーディング規約違反がソース コード マーカーとして表示されるか、または個別のリストで表示されます。

拡張機能のインストールの確認

Visual Studio インストールに Polyspace as You Code 拡張機能が含まれていることを確認するには、インストール済みの拡張機能のリストを確認します。[拡張機能][拡張機能の管理] を選択し、[インストール済み] ペインに Polyspace as You Code が表示されることを確認します。

[出力] ビューでも、拡張機能が予期されているとおりに開始したことを確認できます。[出力] ビューで [Show output from] リストから [Polyspace as You Code] を選択します。拡張機能がエラーなしで開始した場合には、次のようなメッセージが表示されます。

[Information] No setting set for the port. Trying to find a free port.
[Information] Connector was successfully started on port 51294

Polyspace コネクタは、Polyspace as You Code 解析エンジンと Visual Studio 拡張機能の間の通信を処理する内部サーバーです。既定のポートが使用できない場合、拡張機能によりポート番号が 1 つインクリメントされ、そのポートで Polyspace Connector の開始が試行されます。複数の Visual Studio インスタンスを使用している場合は、これらすべてのインスタンスで Polyspace as You Code を実行できます。Polyspace Connector は各インスタンスに対してそれぞれ異なるポートを使用します。

Polyspace as You Code パースペクティブを開く

Polyspace as You Code 拡張機能には Visual Studio の専用パースペクティブがあり、関連するすべての Polyspace ビューがそこでグループ化されています。

Polyspace as You Code パースペクティブを開くには、[拡張機能][Polyspace][Open Polyspace Windows] を選択します。

Polyspace as You Code パースペクティブのさまざまなビューに、構成の状態と解析対象として選択したファイルの状態に関する情報が表示されます。詳細については、[構成] ビューまたは [品質監視] ビューで Open Polyspace Documentation icon をクリックして、ドキュメンテーションを開いてください。

[品質監視] ビュー

[品質監視] ビューには、解析対象として選択したすべてのファイル、各ファイルの解析のステータス、調査結果の数が表示されます。

ファイルを解析するには、ファイルを選択して、Run Analysis をクリックします。Analyze all files をクリックして、ファイル単位の解析を連続して行うこともできます。

Configure settings icon をクリックすると、ファイルの保存時にそのファイルが [品質監視] ビューに追加されるように構成できます。Configure Polyspace as You Code Extension in Visual Studioを参照してください。ファイルを手動で追加するには、エディターまたは [ソリューション エクスプローラー] でファイルを右クリックします。

[ヘッダー] ビュー

ファイルの解析時に、解析対象ファイルと同じフォルダーに含まれており、そのファイルにインクルードされているヘッダー ファイルも、Polyspace は解析します。Polyspace がヘッダー ファイルの調査結果を報告する場合、[品質監視] ビューの解析対象ファイルの横に H が表示されます。このビューで解析対象ファイルをクリックすると、[ヘッダー] ビューにヘッダー ファイルがリストされます。

Polyspace as You Code Headers view in Visual Studio

リストにヘッダー ファイルが表示されるのは、調査結果が含まれている場合のみです。[ヘッダー] ビューでファイルをクリックすると、[Error List] ビューでその調査結果が開きます。

[結果の詳細] ビュー

調査結果を [Error List] ビューまたはエディターで選択すると、その調査結果に関する追加情報が [結果の詳細] ビューに表示されます。これには、トレースバックやベースラインからインポートされたレビュー情報などが含まれます (使用可能な場合)。

複数のコード行を選択すると、選択範囲のすべての調査結果に関する詳細情報が [結果の詳細] ビューに表示されます。Visual Studio help をクリックすると、選択された調査結果に関するコンテキスト ヘルプが表示されます。

ソース コードまたは [Error List] ビューで調査結果を閲覧するときにこのビューをロックするには、Lock the Results List icon をクリックします。別の調査結果を選択しても、[結果の詳細] ビューは更新されません。Lock the Results List icon を再度クリックすると、[結果の詳細] ビューのロックが解除されます。

[Error List] ビュー

[Error List] ビューには、解析のすべての調査結果が表示され、各行に調査結果が 1 つずつリストされます。各行には次のような追加情報が表示されます。

  • 欠陥またはコーディング ルールの名前、ファミリ、説明

  • 調査結果を含むファイルの名前

  • レビュー情報

調査結果は結果ファミリ別にグループ化されています。このグループを変更したり、調査結果をフラット リストで表示したりするには、[Error List] ビューを右クリックして、[グループ化] を選択します。列ヘッダーをクリックすると、並べ替えられます。

Polyspace as You Code Error List view in Visual Studio

[エラー一覧] ビューに表示される結果は、[品質監視] ビューで選択したファイルの結果を表します。[エラー一覧] ビューの結果の数が変わることがあります。この数は、すべての解析済みファイルの結果を表すものではありません。

[品質監視] ビューでファイルを選択すると、[エラー一覧] ビューに以下の結果が表示されます。

  • [品質監視] ビューに表示される各ファイル (選択されたファイルを含む)。

  • [品質監視] ビューで選択したファイルのヘッダー ファイル。

[品質監視] ビューで別のファイルを選択すると、次の処理が行われます。

  • Polyspace によって、以前に選択されていたファイルのヘッダー ファイルの結果が [エラー一覧] ビューから削除されます。

  • 新しく選択されたファイルのヘッダー ファイルの結果が [エラー一覧] ビューに表示されます。

[構成] ビュー

[構成] ビューには、[解析オプション] の現在の設定と、生成されたビルド オプション ファイルのステータスが表示されます (該当する場合)。

このビューでは以下の操作が可能です。

  • Generate Build options icon をクリックしてビルド オプション ファイルを生成する。このボタンは、ビルド コマンド、Visual Studio プロジェクト、または JSON コンパイル データベースから、ビルド オプションを抽出するための拡張機能を構成している場合にのみ使用できます。Generate Build Options for Polyspace as You Code Analysis in Visual Studioを参照してください。

  • Configure Checkers icon をクリックして [チェッカーの選択] ウィンドウを開く。Visual Studio での Polyspace as You Code 用にチェッカーを構成するを参照してください。

  • Configure settings icon をクリックして解析オプションを構成する。Configure Analysis Settingsを参照してください。

  • Documentation icon をクリックして Polyspace ドキュメンテーションを開く。

  • 高速解析モードの行をクリックして高速解析モードのオン/オフを切り替える。

[ベースライン] ビュー

現在のフィルター設定、使用可能なローカル ベースライン、および Polyspace Access™ ベースラインのダウンロード ステータスを表示します。ベースライン設定を構成している場合は、Polyspace Access サーバーの情報と、ベースラインとして使用するプロジェクトの情報が表示されます。Set Baseline Polyspace as You Code Results in Visual Studioを参照してください。

Visual Studio baseline view

このビューでは以下の操作が可能です。

  • フィルター ボタンをクリックして、ベースラインと比較して新しい結果だけに絞り込むフィルタリングを有効または無効にする。

  • 品質監視リストに含まれるすべてのファイルを対象としたローカル ベースラインを作成する。ローカル ベースラインを右クリックして、[品質監視リスト内のすべてのファイルのローカル ベースラインを作成] を選択する。

  • ローカル ベースラインを更新または削除する。ローカル ベースラインを右クリックして、メニューから該当するオプションを選択します。

  • Download Baseline icon をクリックして Polyspace Access ベースラインをダウンロードまたは更新する。

  • Open basline in Access UI をクリックして、Polyspace Access インターフェイスでベースライン プロジェクトを開く。

  • Configure settings icon をクリックして Polyspace Access ベースライン設定を開く。

ご使用の Polyspace as You Code のバージョンよりも古いバージョンの Polyspace でベースライン実行の結果が生成された場合には、[ベースライン] ビューに警告が表示されます。

解析の実行

Polyspace as You Code 解析の実行には、[品質監視] ビューにあるファイルを保存するときに実行する方法と、手動で実行する方法の 2 通りの方法があります。

保存時の解析の実行

既定では、Polyspace as You Code 拡張機能は、現在のファイルを保存するときにそのファイルを [品質監視] ビューに追加しますが、解析は開始しません。

現在のファイルの保存時にそのファイルを解析できるようにするには、[品質監視] ビューで Configure settings icon をクリックし、[オプション] ダイアログ ボックスで [保存時に解析を開始] を選択します。

解析後、調査結果を含むソース コード行に赤い下線が引かれて表示されます。調査結果の位置は、スクロール バーに赤色のマークとしても表示されます。[Error List] ビューで調査結果をダブルクリックすると、対応するソース コードに移動します。解析に失敗した場合、[出力] ビューのメッセージを確認して、失敗の原因を診断します。

結果が表示されない場合は、Polyspace as You Code での解析失敗または予期しない結果のトラブルシューティングを参照してください。

解析の手動実行

ファイルの保存時に解析が開始されないようにするには、[ツール] > [オプション] を選択して [オプション] ダイアログ ボックスを開き、[Polyspace as You Code][解析オプション] ノードを選択して [保存時に解析を開始] チェックボックスをオフにします。解析を手動で開始するには、次のいずれかを行います。

  • [品質監視] ビューの Run Polyspace Analysis icon をクリックして、選択されたファイルに対して解析を実行する。

  • [品質監視] ビューの Analyze all files sequentially icon をクリックして、[品質監視] リストに含まれる各ファイルに対して順次解析を実行する。

  • エディターでファイルを右クリックして、[Polyspace][Polyspace 解析の実行] を選択し、エディターで開いているファイルに対して解析を実行する。

結果のレビュー

解析後、結果が 2 つの形式で表示されます。

  • ソース コード内の赤い下線。

  • [Error List] ビューのリスト。

    [Error List] ビューで調査結果を選択すると、調査結果に関する追加の詳細情報が [結果の詳細] ビューに表示されます。open contextual help icon をクリックすると、現在選択されている調査結果のコンテキスト ヘルプが開きます。

Example of Polyspace as You Code results in Visual Studio

欠陥またはコーディング ルール違反について提案される修正の適用

Polyspace からコード内の一般的な欠陥またはコーディング ルール違反が報告される場合、Polyspace as You Code 拡張機能により、これらの調査結果に適用できる 1 つ以上の修正が提案されます。

簡単な修正を適用するには、エディターまたは [エラー一覧] パネルで調査結果を選択し、電球メニューで該当するオプションをクリックします。簡単な修正のオプションの形式は Fix checkerName: proposedFix です。ここで checkerName は選択されている欠陥チェッカーまたはコーディング ルールの名前、proposedFix は Polyspace がコードに適用する修正です。Polyspace によりコードが編集され、選択するオプションに応じて、問題または現在アクティブなファイルに出現するその問題のすべてのインスタンスが修正されます。提案される修正が複数ある場合は、使用可能なすべての修正がメニューに表示されます。

Visual Studio apply quick fix using contextual menu

以下の表に、Polyspace が修正を提案する一般的な欠陥およびコーディング ルール違反と、これらの問題を報告する Polyspace チェッカーを示します。

一般的な欠陥またはコーディング ルール違反問題を報告する Polyspace チェッカー
コンパイル時に constexpr 指定子が欠落していると評価される可能性がある関数。
値によってオブジェクトをキャストする std::any_cast の非効率な使用
std::string operator+() の非効率な使用
std::map または std::unordered_map のキーへの値の挿入または代入のための [] 演算子の非効率な使用 (C++ 17 以降のみ)
パラメーターの値渡しが計算量の多いコピーになる
未変更の、値渡しされる、コピーの計算量が多いパラメーター
ローカル変数が const 参照からの計算量の多いコピーで作成された後、変更されない
const として宣言されていない未変更の変数
return ステートメントでの std::move への不必要な呼び出し
未使用のインクルード
未使用のパラメーターです
std::endl の使用

コード注釈を使用した結果の正当化

結果を修正しない場合は、コード注釈を追加することにより、結果を正当化できます。特定の構文に従っている注釈の場合、以降の Polyspace as You Code 実行では注釈が読み取られ、対応する結果が表示されなくなります。

  • コード注釈を追加するには、[Error List] ビューで調査結果を右クリックして、[Polyspace][現在の結果を正当化] を選択します。注釈は調査結果と同じ行に入力されます。注釈は、その結果のコード マーカーを指すことによって適用することもできます。

  • 現在のファイル内の同じ欠陥または同じコーディング ルール違反のすべての調査結果を正当化するには、[エラー一覧] ビューで調査結果を右クリックして、[Polyspace][選択した調査結果のすべてのインスタンスを正当化] を選択します。Polyspace により、コードでこの調査結果を含む各行に注釈が挿入されます。

  • ベースライン実行からレビュー情報をインポートすると、ベースライン実行からすべてのステータス、重大度、コメントが Polyspace as You Code の対応する調査結果に自動的に適用されます。

    [欠陥ではない][正当化済み]、または [アクションの予定なし] のステータスがインポートされた調査結果は、[Error List] ビューから削除され、以降の解析では表示されなくなります。

Polyspace as You Code により、C ファイルの場合は /* */ で囲まれたコメントとして、C++ ファイルの場合は先頭に // が付いたコメントとして、コード注釈が追加されます。C ファイルのコメント形式は MISRA C:2004 Rule 2.2 に準拠します。MISRA C:2004 および MISRA AC AGC ルール (Polyspace Bug Finder)を参照してください。

参考:

結果の状況依存ヘルプの表示

結果の状況依存ヘルプ ページを表示すると、特定の結果タイプに関する詳細情報を確認できます。

調査結果の状況依存ヘルプを開くには、コードまたは [Error List] で調査結果を選択し、[結果の詳細] ビューで Visual Studio help icon をクリックします。

[ベースライン][構成][品質監視] のいずれかのビューで Visual Studio open Polyspace documentation icon をクリックすることにより、ご使用のシステム ブラウザーで Polyspace as You Code 拡張機能に関する検索可能なドキュメンテーションを開くこともできます。

チェッカーとその他の設定の構成

Polyspace as You Code では欠陥の既定のサブセットをチェックしますが、Visual Studio の Polyspace as You Code 拡張機能設定でチェッカーのセットを展開して、その他の構成を行うことができます。

たとえば以下が可能です。

拡張機能の設定を開くには、[ツール][オプション] を選択して [オプション] ダイアログ ボックスを開いてから、[Polyspace as You Code] ノードを選択します。すべての設定のリストについては、Configure Polyspace as You Code Extension in Visual Studioを参照してください。