Static Driver Verifier
Static Driver Verifier (also known as "StaticDV" or "SDV") is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is a compile time tool that is capable of discovering defects and design issues in a driver. Based on a set of interface rules and a model of the operating system, SDV determines whether the driver correctly interacts with the Windows operating system kernel.
Windows 10 WDK Version 1511
A critical issue has been found when using Static Driver Verifier (SDV) when used with Visual Studio 2015 Update 1. Static Driver Verifier fails to complete a scan once started and the status will display "Building..." indefinitely.
The following work around can be used.
Information on the root cause of this issue is available here: https://github.com/Microsoft/msbuild/issues/397
Visual Studio Integration
Static Driver Verifier is integrated into Visual Studio. You can run static analysis on your Visual Studio driver project. You can launch, configure, and control Static Driver Verifier from the Driver menu in Visual Studio.
Static Driver Verifier Documentation
Static Analysis can reduce defects by up to a factor of six!
— Capers Jones, Software Productivity Group
Finding Bugs in Windows Driver Code
Microsoft uses SDV to test the kernel-mode drivers that are included with the Microsoft Windows operating system and to test the sample drivers in the WDK. Prior to the release of Windows 8, Microsoft used SDV to find and fix 127 potentially critical bugs.
By using the DDI compliance rules for specific driver models, SDV can verify correct driver behavior. For example, SDV can verify that the driver:
SDV examines all possible paths through the driver code. It is designed to find serious errors in obscure paths that are unlikely to be encountered even in thorough testing.
For specific information about the drivers that SDV can verify, see Supported Drivers.
For more information and tips about using Static Driver Verifier, see the Static Driver Tools blog.