Model checking, logging, debugging, and checkpointing/recovery are great tools to identify bugs in small sequential programs. The direct application of these techniques to the dom...
Programming language specifications mandate static and dynamic analyses to preclude syntactic and semantic errors. Although individual languages are usually well-specified, comp...
Byeongcheol Lee, Ben Wiedermann, Martin Hirzel, Ro...
Being exposed to well-written code is a valuable experience for students -- especially when the code is larger or more complex than they are currently capable of writing. In addit...
This paper describes the methods used in Empire, a tool to detect concurrency-related bugs, namely atomic-set serializability violations in Java programs. The correctness criterion...
Nicholas Kidd, Thomas W. Reps, Julian Dolby, Manda...
Abstract--Parallel programming is hard, because it is impractical to test all possible thread interleavings. One promising approach to improve a multi-threaded program's relia...