David A. Selby
IBM J. Res. Dev
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.
David A. Selby
IBM J. Res. Dev
Thomas R. Puzak, A. Hartstein, et al.
CF 2007
Chidanand Apté, Fred Damerau, et al.
ACM Transactions on Information Systems (TOIS)
S.F. Fan, W.B. Yun, et al.
Proceedings of SPIE 1989