Multithreaded java program test generation

  • Authors:
  • O. Edelstein;E. Farchi;Y. Nir;G. Ratsaby;S. Ur

  • Affiliations:
  • IBM Research Division, Haifa Research Laboratory, MATAM, Haifa, Israel;IBM Research Division, Haifa Research Laboratory, MATAM, Haifa, Israel;IBM Research Division, Haifa Research Laboratory, MATAM, Haifa, Israel;IBM Research Division, Haifa Research Laboratory, MATAM, Haifa, Israel;IBM Research Division, Haifa Research Laboratory, MATAM, Haifa, Israel

  • Venue:
  • IBM Systems Journal
  • Year:
  • 2002

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.