Isolating failure-inducing thread schedules

Jong-Deok Choi, Andreas Zeller
2002 Software engineering notes  
Consider a multi-threaded application that occasionally fails due to non-determinism. Using the DEJAVU capture/replay tool, it is possible to record the thread schedule and replay the application in a deterministic way. By systematically narrowing down the difference between a thread schedule that makes the program pass and another schedule that makes the program fail, the Delta Debugging approach can pinpoint the error location automatically-namely, the location(s) where a thread switch causes
more » ... the program to fail. In a case study, Delta Debugging isolated the failure-inducing schedule difference from 3.8 billion differences in only 50 tests.
doi:10.1145/566210.566211 fatcat:upnhc6prljfyxkvbcrrjfcz5qm