Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Profiling the operational behavior of OS device drivers
Sârbu C., Johansson A., Suri N., Nagappan N. Empirical Software Engineering15 (4):380-422,2010.Type:Article
Date Reviewed: Feb 16 2012

Writing device drivers is no easy task. Speak to a few device driver developers, and you’ll soon come across many horror stories, like sending error codes using Morse code through an on-device LED. Thus, any attempts that ease the process are to be applauded.

The paper describes a methodology for acquiring the states through which a device driver transitions by monitoring the calls made into a device driver and the replies returned. The logging is achieved by inserting a filter driver between the input/output (I/O) manager and the driver being tested. This filter device driver sends a record of all I/O request packets (IRPs) to the DebugView kernel debugger. The authors profile five Windows XP and two Windows Vista device drivers using 20 different workload generators that range from the simple, such as disabling of the device driver, to the extreme, such as running burn-in tests concurrently with commercial benchmarking tools.

As the authors assume no access to the drivers’ source code, a state is defined as the interval between receiving an IRP and completing it. Should a second IRP arrive prior to the completion of the first, a new state is defined. Using this data, the authors build a state transition graph with knowledge of time spent in each state and the frequency of transitions out into other states.

Having real-world usage profiles for an in-development device driver is good. However, I disagree with the authors’ suggestion that the profiles can be used to reduce testing effort to provide a certain percentage of coverage of visited states. A driver that works 95 percent of the time, by definition, fails five percent of the time. Even a 0.01 percent failure rate would be unacceptable if a driver managed to cover all possible states every few hours of usage. This is particularly acute when the level of granularity is an IRP request.

Reviewer:  Bernard Kuc Review #: CR139875 (1207-0713)
Bookmark and Share
  Featured Reviewer  
 
Modeling And Prediction (D.4.8 ... )
 
 
Systems Programs And Utilities (D.4.9 )
 
Would you recommend this review?
yes
no
Other reviews under "Modeling And Prediction": Date
A model for the stability analysis of maintenance strategies for linear list
Bastani F., Chen I., Hilal W. The Computer Journal 34(1): 80-87, 1991. Type: Article
Feb 1 1992
Disk performance in a transaction-oriented system
Heyman D., Tsur S. SIAM Journal on Computing 13(4): 669-681, 1984. Type: Article
Aug 1 1985
Response times in level-structured systems
Paul K. J. ACM Transactions on Computer Systems 5(3): 232-248, 1987. Type: Article
Jul 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy