The authors of this paper are trying to improve the reliability of commonplace operating systems without changing the driver interfaces or programming languages these operating system are extended with (using drivers or modules.) The basic approach is to insert a shim between the OS and the driver and track which resources the driver uses and try to catch failures in the driver itself. If the driver does have a failure, then the system can try to clean up the resources the driver was using. This approach is similar to some runtime debug systems for Win32 (BoundsChecker) that watch the APIs that an application calls and produces information about ways the application is calling the system that are buggy. The performance penalties are slight, but it's mostly a factor of the number of RPCs the driver makes between its own code and the OS. It's interesting that implementing this system isn't a no-brainer for most OSes. The performance penalties seem small enough that the benefits are worth it.