On-the-fly race detection in multi-threaded programs

  • Authors:
  • Ali Jannesari;Walter F. Tichy

  • Affiliations:
  • University of Karlsruhe, Karlsruhe, Germany;University of Karlsruhe, Karlsruhe, Germany

  • Venue:
  • PADTAD '08 Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debugging
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multi-core chips enable parallel processing for general purpose applications. Unfortunately, parallel programs may contain synchronization defects. Such defects are difficult to detect due to nondeterministic interleavings of parallel threads. Current tools for detecting these defects produce numerous false alarms, thereby concealing the true defects. This paper describes an extended race detection technique based on a combination of lockset analysis and the happens-before relation. The approach provides more accurate warnings and significantly reduces the number of false positives, while limiting the number of false negatives. The technique is implemented in Helgrind+, an extension of the open source dynamic race detector Helgrind. Experimental results with several applications and benchmarks demonstrate a significant reduction in false alarms at a moderate runtime increase.