SafeDrive is a project to improve reliability of software
extensions, in particular, Linux device drivers. It brings
fine-grained memory safety, enjoyed mainly by "memory-safe" languages
like Java, to extensions written in C. SafeDrive achieves this using
Deputy,
a source-to-source transformation tool, and requires light
annotations on kernel headers and driver source code. In addition to
memory-safety, SafeDrive employs a light-weight recovery system that
restores kernel invariants when a driver fails so that the system can
continue to work in the face of driver failures.