Dynamic Recognition of Synchronization Operations for Improved Data Race Detection

Chen Tian, Vijay Nagarajan, Rajiv Gupta, Sriraman Tallam

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Debugging multithreaded programs, which involves detection and identification of the cause of data races, has proved to be a hard problem. Although there has been significant amount of research on this topic, prior works rely on one important assumption - the debuggers must be aware of all the synchronization operations that take place during a program run. This assumption is a significant limitation as multithreaded programs, including the popular SPLASH-2 benchmark, have barriers and flag synchronizations implemented in the user code. We show that the lack of knowledge of these synchronization operations leads to unnecessary reporting of numerous races. Our experiments with SPLASH-2 benchmark suite show that 12-131 distinct segments in source code, on an average, give rise to well over 4 million dynamic instances of falsely reported races for these programs. We propose a dynamic software technique that identifies the user defined synchronizations exercised during a program run. This information not only helps avoids reporting of unnecessary races, but also helps a record/replay system to speedup the replay.

Our evaluation confirms that our synchronization detector is highly accurate with no false negatives and very few false positives. Thus, reporting of nearly all unnecessary races is avoided. Finally, we show that the knowledge of synchronization operations resulted in about 23% reduction in replay time.
Original languageEnglish
Title of host publicationProceedings of the 2008 International Symposium on Software Testing and Analysis
Place of PublicationNew York, NY, USA
Number of pages12
Publication statusPublished - 2008

Publication series

NameISSTA '08


  • data races, record and replay, synchronization and infeasible races


Dive into the research topics of 'Dynamic Recognition of Synchronization Operations for Improved Data Race Detection'. Together they form a unique fingerprint.

Cite this