Rajiv Ramaswami, Kumar N. Sivarajan
IEEE/ACM Transactions on Networking
We describe ConTest, a tool for detecting synchronization faults in multithreaded Java™ programs. The program under test is seeded with a sleep(), yield(), or priority() primitive at shared memory accesses and synchronization events. At run time, ConTest makes random or coverage-based decisions as to whether the seeded primitive is to be executed. Thus, the probability of finding concurrent faults is increased. A replay algorithm facilitates debugging by saving the order of shared memory accesses and synchronization events.
Rajiv Ramaswami, Kumar N. Sivarajan
IEEE/ACM Transactions on Networking
Liat Ein-Dor, Y. Goldschmidt, et al.
IBM J. Res. Dev
Michael D. Moffitt
ICCAD 2009
David A. Selby
IBM J. Res. Dev