Multithreaded Java program test generation

Orit Edelstein, Eitan Farchi, Yarden Nir, Gil Ratsaby, Shmuel Ur · IBM Systems Journal · 2002

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.

Read the paper · More papers on PaperTik