Nondeterministic execution inherent in multithreaded programs severely complicates debugging, testing, and replication.   We have proposed a new OS abstraction, called Deterministic Process Groups (DPGs), to ensure fully deterministic (repeatable) execution of arbitrary, unmodified multithreaded programs.   We have also developed dOS, a Linux-based implementation of DPGs. Faculty: Ceze, Gribble.