SafeDrive - Safe and Recoverable Extensions Using Language-Based Techniques
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.
People
Publications
-
SafeDrive: Safe and Recoverable Extensions Using Language-Based Techniques
Feng Zhou, Jeremy Condit, Zachary Anderson, Ilya Bagrak,
Rob Ennals, Matthew Harren, George Necula, Eric Brewer
To appear in OSDI 2006,
PDF,
HTML
Software Downloads
These drops are used in the OSDI '06 paper.
Deputy source-to-source compiler: deputy-060912.tar.gz.
(A more recent version of Deputy is available at the
Deputy web site.)
SafeDrive, including kernel patch, headers and several drivers: safedrive-060912.tar.gz.
For instructions, read the SafeDrive how-to
(also available in the package in doc dir)
Compile-time fault injection tool. This works either as a stage in
Deputy, or part of CIL. In the latter case
it is a general-purpose fault injection tool for C programs. ctswifi-060912.tar.gz
Links
UWashington: The Nooks
project
MSR: The
Gleipnir Software Security Mitigation Project (in particular
XFI)
Page maintained by Feng Zhou, last modified: $Id: index.html,v 1.2 2006-09-13 09:40:53 zf Exp $.