Along the lines of the user-space kernel tester, how about user-space
testing of filesystem module. Since a module is just an object file
the module authors should be able to write a test program which would
dynamically link the module and test out all the known corner
conditions and generally try to break it. This wouldn't really be
able to reproduce race conditions, but would be great for testing
error recovery.
The biggest part seems to be making user-space versions of all the
kernel functions the module wants to call. Since many of the modules
call the same kernel functions it would make sense to have a library
to do user space emulation of things like bread(), so each filesystem
author wouldn't have to reinvent the wheel.
I don't see this really working for hardware drivers, however. The
emulated hardware would inevitably be based on the driver and not
emulate any of the hardware's undiscovered bugs.
-- Paul H. Hargrove All material not otherwise attributed hargrove@sccm.stanford.edu is the opinion of the author or a typo.