CoreDet

Tom Bergan, Owen T. Anderson, Joseph Devietti, Luís Ceze, Dan Grossman

2010 · 150 citations · 22 references

Concepts

Abstract

The behavior of a multithreaded program does not depend only on its inputs. Scheduling, memory reordering, timing, and low-level hardware effects all introduce nondeterminism in the execution of multithreaded programs. This severely complicates many tasks, including debugging, testing, and automatic replication. In this work, we avoid these complications by eliminating their root cause: we develop a compiler and runtime system that runs arbitrary multithreaded C/C++ POSIX Threads programs deterministically.

References

22