ORDER: Object CentRic DEterministic Replay for Java
Deterministic replay systems, which record and replay non-deterministic events during program execution, have many applications such as bug diagnosis, intrusion analysis and fault tolerance. It is well understood how to replay native (e.g., C) programs on multi-processors, while there is little work for concurrent java applications on multicore. State-of-the-art work for Java either assumes data-race free execution, or relies on static instrumentation, which leads to missing some necessary non-deterministic events. This paper proposes the ORDER framework to record and reproduce non-deterministic events inside Java Virtual Machine (JVM).