Sciweavers

EUROSYS
2008
ACM

Samurai: protecting critical data in unsafe languages

14 years 8 months ago
Samurai: protecting critical data in unsafe languages
Programs written in type-unsafe languages such as C and C++ incur costly memory errors that result in corrupted data structures, program crashes, and incorrect results. We present a data-centric solution to memory corruption called critical memory, a memory model that allows programmers to identify and protect data that is critical for correct program execution. Critical memory defines operations to consistently read and update critical data, and ensures that other non-critical updates in the program will not corrupt it. We also present Samurai, a runtime system that implements critical memory in software. Samurai uses replication and forward error correction to provide probabilistic guarantees of critical memory semantics. Because Samurai does not modify memory operations on non-critical data, the majority of memory operations in programs run at full speed, and Samurai is compatible with third party libraries. Using both applications, including a Web server, and libraries (an STL li...
Karthik Pattabiraman, Vinod Grover, Benjamin G. Zo
Added 10 Mar 2010
Updated 10 Mar 2010
Type Conference
Year 2008
Where EUROSYS
Authors Karthik Pattabiraman, Vinod Grover, Benjamin G. Zorn
Comments (0)