PREfast for Drivers (Prefast.exe) は、一般的なコンパイラでは容易に発見できない特定のクラスのエラーを検出する静的ソース コード分析ツールです。PREfast for Drivers には、C や C++ のプログラムに共通の基本的なコーディング エラーを検出するコンポーネントである PREfast、およびカーネル モード ドライバのコードのエラーを検出するよう設計された特別なドライバ モジュールが含まれています。 PREfast は、各関数内の実行される可能性のあるすべてのパスをステップごとにたどり、実行をシミュレートして、問題があるかどうか各パスを評価することにより、C および C++ のソース コードを解析します。PREfast は、実際にはコードを実行せず、生じる可能性のあるすべてのエラーを見つけることはできません。ただし、コンパイラが無視する可能性のあるエラーや、デバッグ中には見つけることの難しいエラーを見つけることはできます。 PREfast for Drivers は、ドライバ固有の問題をチェックします。たとえば、正しい割り込み要求レベル (IRQL)、優先ドライバ ルーチンの使用、およびドライバ ルーチンの誤用をチェックするほか、メモリ リークおよびロックなどのその他のリソースのリークをより徹底してチェックします。PREfast for Drivers は、コメントを使用したコードの分析をサポートし、コメント付き関数が意図したとおりに使用されているかどうかについての情報を PREfast に提供します。これによって、PREfast は、特定のバグが存在するかどうかをより判定しやすくなります。 PREfast for Drivers は、Microsoft Windows Server 2003 SP1 DDK および Windows Driver Kit (WDK) で提供されます。 PREfast 全般 静的解析ツール - WinHEC 2007
ドライバ開発用の静的ツール - WHDC ラボ
|