Dthreads: efficient deterministic multithreading
What are race conditions?: Some issues and formalizations