Polyspace® 製品の Release R2022b を使用すると、より精度の高い Polyspace 解析を実行し、より多くのタイプの問題を検出して、より簡単に結果をレビューできます。以下が行えるようになりました。
- 静的に強制可能なすべての AUTOSAR C++14 ルールへの準拠をチェック
- 不要なインクルードファイルを検出
- Polyspace Access を使用して複数のプロジェクトのレビュー情報をより簡単にインポート
- Polyspace Bug Finder の解析に外部制約を適用して誤検知を低減
- Visual Studio Code を構成して Polyspace 形式の注釈をカスタムの正当化情報で自動補完
これらをはじめとする R2022b の機能について、以下で詳しくご紹介します。
静的に強制可能なすべての AUTOSAR C++14 ルールをチェック
Polyspace Bug Finder™ を使用すると、静的に強制可能なすべての AUTOSAR C++14 ルールへの準拠をチェックすることができます。
Polyspace によるコーディング標準のサポートもご参照ください。
不要なインクルードおよびインクルードの問題を検出
開発中に、#include
-s を必要に応じて C/C++ ソースに挿入したり、#include
-s のリストを既存のファイルからコピーしたりすることは一般的な手順です。インクルードファイルからのリソース (型宣言またはマクロ宣言など) が必要なくなった場合、このリストをクリーンアップすることはあまり一般的ではありません。時間の経過とともに、ファイル先頭の #include
リストにあるインクルードが累積し、ビルド時間を不必要に増加させることがあります。
R2022b では、Polyspace Bug Finder チェッカーを使用して、そのような不要なインクルードを検出することができます。ファイルの #include
ごとに、チェッカーは #include
の階層を上に向かって実行し、インクルードから (またはすべてのレベルの入れ子を対象にインクルード内で入れ子になったインクルードから) リソースを使用したかどうかを特定します。そうでない場合、チェッカーは #include
に削除すべき候補としてフラグを設定します。
不要なインクルードもご参照ください。
Polyspace Access プロジェクト間でレビュー情報をインポート
ステータス、重大度、およびコメントなどのレビュー情報は、Polyspace Access™ で任意のプロジェクトから他のプロジェクトにインポートできます。インポート後、2 つのプロジェクト間でオーバーラップする結果にはすべて、同じレビュー情報が含まれます。
たとえば、いくつかのライブラリファイルが複数のプロジェクトで再利用されていて、1 つのプロジェクトでこれらのライブラリファイルの調査結果を正当化したとします。該当する正当化情報は、それらのファイルを使用する他のすべてのプロジェクトに移植できるようになります。他のプロジェクトで再度調査結果をレビューして正当化する必要はありません。
Polyspace Bug Finder の解析に外部制約を適用
不明な入力に外部制約を指定して、Bug Finder の誤検知を減らすことができます。不明な入力には、プログラムに対するユーザー入力またはスタブ関数の戻り値があります。
その後、より網羅的な Polyspace Code Prover™ 解析を実行する場合は、Bug Finder 解析で設定した制約を簡単に再利用できます。
Visual Studio Code で Polyspace の注釈を自動補完
コード注釈を使用して、欠陥またはコーディングルール違反を正当化することができます。注釈が Polyspace 形式の構文に従っているかマッピングされている場合、Polyspace では正当化された結果が将来の実行において非表示になるか、またはレビュー済みとして表示されます。
R2022b では、Visual Studio Code で Polyspace as You Code を使用する場合に自動補完を利用できます。結果の注釈を付けるために Polyspace
の入力を始めると、自動補完により注釈構文の候補が表示されます。
チームまたは組織が事前定義された一連のコメントを使用して解析結果を正当化する場合、それらのコメントを JSON カタログとして Polyspace as You Code の拡張機能に渡すことができます。Visual Studio Code エディターで入力を始めると、コメントでコード注釈を自動補完することができるようになります。
その他の機能
R2022b は、他に次のような点が改善されています。
- すぐに始められるよう Visual Studio Code に Polyspace as You Code の解説を用意
- 定数のオーバーフローの期待値/実際値、または初期化されていない変数をもたらす入力などの詳細を結果に表示
- Intel C++ Compiler Classic をサポート
- 解析済みファイルに含まれるヘッダーファイルの調査結果をレビューするための Visual Studio Code の新しい Polyspace as You Code ビュー
詳細については、次のリリースノートを参照してください。