LEAP: Lightweight deterministic multiprocessor replay for concurrent Java programs
LEAP is a new local order based efficient deterministic record and replay technique for multi-threaded Java programs running on general multi-processor environments. It is more than 10x faster than conventional global order based approaches and 2x to 10x faster than other local order based approaches. It's recording overhead on Tomcat and Derby is less than 10%. It is able to deterministically reproduce 7 out of 8 real bugs in Tomcat and Derby, 13 out of 16 benchmark bugs in IBM ConTest benchmark suite, and 100% of the randomly injected concurrency bugs.