このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace as You Code の解析範囲
Polyspace® as You Code は、C/C++ 開発者が統合開発環境 (IDE) で通常使用することを意図して作られた、静的コード解析ソフトウェアです。Polyspace as You Code では、IDE で現在アクティブなファイルのバグとコーディング規約違反を検出できます。
このトピックでは、Polyspace as You Code の解析範囲について、およびフル統合解析に Polyspace Bug Finder または Polyspace Bug Finder Server を使用するメリットについて説明します。
結果は現在のファイルのみを対象としている
Polyspace as You Code は、開発者の直近の関心事である結果を提供するように設計されています。このため、このツールでは現在ユーザーが作業しているファイルのみの結果が表示されます。Polyspace as You Code 拡張機能のインストール完了後は、IDE でファイルを開くか保存するたびに、解析がバックグラウンドでサイレントに実行され、ファイルで問題が強調表示されます。
検出される問題はすべてソース ファイル自体で発生しているものであり、修正もこのファイル内で可能です。強調表示されている位置、または現在のファイル内で関連する別の位置で修正を実装できます。たとえば、以下の整数のゼロ除算の結果は前述の行の関連イベントとともに表示されます。ゼロ除算の直前にこの除算に対してガードを実装するか、または除算が実行される関数への入力に対する何らかのチェックを実装することができます。
たとえば複数のファイルを対象とした結果 (ファイル間の宣言の不一致または異なるファイルの関数間のデータフローなど) は、既定の Polyspace as You Code 解析では表示されません。プロジェクトの完全な統合結果を表示するには、デスクトップで Polyspace Bug Finder™ を使用するか、または継続的インテグレーション (CI) サーバーで Polyspace Bug Finder Server™ を使用してプロジェクトを解析します。
単一ファイルの解析で問題を検出できる可能性がほぼないチェッカーは、Polyspace as You Code では完全に無効にされています。Polyspace as You Code 解析で非アクティブにされるチェッカーを参照してください。
現在のファイルにインクルードされているヘッダーは解析されない
ソースと同じフォルダー (またはサブフォルダー) に含まれているヘッダーを #include
でインクルードしているソース ファイルを解析すると、Polyspace はこれらのヘッダーも解析し、何らかの問題を検出するとその検出結果を報告します。これらの検出結果が含まれているヘッダーは、拡張機能の [ヘッダー] ビューで確認できます。追加の Polyspace ビューを開くを参照してください。その他のヘッダー ファイルはすべてコンパイル対象と見なされますが、それ以上の解析は行われません。
この既定の動作の理由は次のとおりです。
ソースに近いヘッダー:
ソース フォルダー内のヘッダーは、現在のソース ファイルにより緊密に関連しており、したがって解析に適しているという前提が根底にあります。開発者はこれらのヘッダーで報告される問題を修正することが推奨されます。
ソース以外のフォルダーに含まれるヘッダー:
他のフォルダーに含まれるヘッダーは通常、サードパーティ ライブラリのヘッダーであり、解析されません。
この既定の動作は、次のオプションを使用して変更できます。
ソースおよび次に対する結果を生成する (-generate-results-for)
(Polyspace Bug Finder): このオプションは、解析する必要があるヘッダーのスコープを拡大する場合に使用します。次に対する結果を生成しない (-do-not-generate-results-for)
(Polyspace Bug Finder): このオプションは、解析してはならないヘッダーのスコープを拡大する場合に使用します。
ヘッダーを明示的に解析することでも、ヘッダー ファイルの調査結果を確認できます。