Rolf Clauberg
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.
Rolf Clauberg
IBM J. Res. Dev
Thomas M. Cover
IEEE Trans. Inf. Theory
Yao Qi, Raja Das, et al.
ISSTA 2009
Sonia Cafieri, Jon Lee, et al.
Journal of Global Optimization