Computers often need to be connected to printers, cameras, and USB flash drives and other hardware, but the small pieces of software that enable communications with these peripherals, known as "device drivers," have a bad reputation. Experts believe that device driver failures are responsible for about 85 percent of crashes on Windows machines, and poorly written device drivers can also introduce security holes on an otherwise protected computer. Part of the problem is that a device driver can't easily be examined by anyone outside the company that created it.
"Device drivers are terrible," says Vitaly Chipounov, a researcher in the Dependable Systems Lab at the Ecole Polytechnique Federale de Lausanne (EPFL) in Switzerland. At the Usenix Annual Technical Conference in Boston last month, Chipounov demonstrated a software tool that could help protect computers from dodgy drivers by identifying problems before they reach a user's system.
Chipounov's tool can test device drivers without requiring access to the underlying code. It works by loading a driver into a virtual computer and simulating its behavior, checking for problems like sudden freezes or crashes. The tool works without communicating with a corresponding real piece of hardware. Even so, by simulating the way that hardware interacts with the driver, it can show how a driver will respond when connected to buggy piece of equipment. Once the tool finds a problem, it can provide information about the cause, which can help identify a fix.
From Technology Review
View Full Article