General Information













Testing concurrent programs is challenged by the interleaving explosion problem - the problem of exploring the large number of interleavings of program, even under a single test input. Rather than try all interleavings, we propose a testing tool for concurrent Java programs that tests the interleavings that violate atomicity: PENELOPE.

PENELOPE automatically transforms programs under test so that it can monitor a run, predicts alternate schedules that violate atomicity offline, and schedules them again to check for errors.





* This work was funded partly by the Universal Parallel Computing Research Center (UPCRC) at the University of Illinois at Urbana-Champaign, sponsored by Intel Corp. and Microsoft Corp, by NSF award #0747041, and by an NSERC Discovery Grant.