Static Driver Verifier

Static Driver Verifier (SDV) は、ソース コードをシンボル的に実行することにより、デバイス ドライバのコード パスを探索するコンパイル時ツールです。SDV は、Windows Driver Model (WDM) に基づいた Microsoft Windows デバイス ドライバのユニット テスト ツールです。

SDV は、ドライバを厳しい環境に置き、WDM 使用ルールの違反を探すことによって、すべてのコード パスを体系的にテストします。シンボルでの実行は、オペレーティング システムの状態またはドライバの初期状態について、わずかしか仮定を行いません。したがって、従来のテストでは実施が難しい状況をテストできます。

SDV 内にパッケージされているルールのセットは、デバイス ドライバが WDM API をどのように使用すべきかを定義します。テストされるルールは、下記のカテゴリなどです。

Categoryテストされるルールの対象

IRP

入出力要求パケットを使用する関数

IRQL

割込み要求レベルを使用する関数

PnP

プラグ アンド プレイの関数

PM

電源の管理

WMI

Windows Management Instrumentation を使用する関数

Sync

スピン ロック、セマフォ、タイマ、ミューテックスなど、アクセス制御の方法と関連する同期化

その他

他のカテゴリのいずれも、完全には当てはまらない関数

SDV は、Windows Driver Kit (WDK) で提供されます。

SDV 全般
ホワイト ペーパーMicrosoft での SDV の使用
ホワイト ペーパーStatic Driver Verifier に関するファクト
ホワイト ペーパーStatic Driver Verifier の紹介
Microsoft Powerpoint (.ppt)Static Driver Verifier: How to Analyze KMDF Drivers [4.0 MB]
その他『Developing Drivers with Windows Driver Foundation』Orwick、Smith 共著
Microsoft Press 刊の包括的なガイド
Microsoft.comSLAM and Static Driver Verifier: Technology Transfer of Formal Methods Inside Microsoft [MSDN Web キャスト]
Microsoft.comWDK ドキュメント内の SDV

静的解析ツール - WinHEC 2007
Microsoft Powerpoint (.ppt)Static Analysis and Verification of Drivers [WinHEC 2007; 8.6 MB]
Microsoft Powerpoint (.ppt)Static Analysis Tools: PREfast for Drivers [WinHEC 2007; 1.2 MB]

ドライバ開発用の静的ツール - WHDC ラボ
ダウンロード可能PREfast for Drivers: WHDC Lab [388 KB]
ダウンロード可能Static Driver Verifier for KMDF Drivers: WHDC Lab [242 KB]
ダウンロード可能Static Driver Verifier for WDM Drivers: WHDC Lab [366 KB]

SDV の背景
このリンクをクリックすると Microsoft.com サイトを離れます"Building a Better Bug Trap"、The Economist、2003 年 6 月 19 日 [転載]
このリンクをクリックすると Microsoft.com サイトを離れます"Microsoft bug-checking tools promise fewer crashes" - CNET News.com、2006 年 5 月 26 日
このリンクをクリックすると Microsoft.com サイトを離れます"Microsoft's Secret Bug Squasher"、Wired News、2005 年 11 月 10 日
Microsoft.com"Providing a Template for Tech Transfer"
Microsoft.comBill Gates, Remarks at 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Application
Microsoft.comMicrosoft Research での SLAM Project: Debugging System Software via Static Analysis
Microsoft.comSLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft (PDF ファイル)


パーソナル コンピュータでお困りですか?