PREfast for Drivers (PFD), an extension of PREfast, is a compile-time static verification tool that detects errors missed by the compiler and by conventional runtime testing. It detects common coding errors in C and C++ programs, and is designed to detect errors in kernel-mode driver code. You can run PFD very early in the development cycle—as soon as the code compiles correctly. PFD is integrated into the Windows 7 build environments in the Windows Driver Kit (WDK) as well as into Windows Automated Code Review (known as OACR). PFD supports a large vocabulary of annotations beyond those supported for generic PREfast, including annotations for IRQLs, resource-object leaks, memory leaks, and stricter type checking. PREfast for Drivers examines each function in the code independently, looking for common driver errors and unwise coding practices. PFD runs quickly, even on larger drivers, and generates a report that identifies the line of driver code with the suspected error. PREfast for Drivers runs on Windows XP and later versions of Windows and is designed to analyze code written for x86-based and x64-based platforms. It can analyze C and C++ source files for drivers in any driver model, including managed code. You should use PREfast for Drivers in conjunction with Driver Verifier, Static Driver Verifier, and the checked build of Windows to ensure that your driver code is safe and reliable. PREfast for Drivers is provided in the Windows Driver Kit (WDK). What’s New for PFD in Windows 7
High Quality Drivers and WDK Samples For Windows 7, all Microsoft drivers that ship with the operating system and all WDK samples have been verified with PFD, and identified defects have been fixed. In addition, the WDK public headers are now annotated to enable PFD to better find code defects.
General PREfast Static Analysis Tools - WinHEC Static Tools for Driver Development - WHDC Labs
|