Identifying Ad-hoc Synchronization for Enhanced Race Detection

  • Tagung:

    Vortrag 

  • Autoren:

    Walter F. Tichy 

  • Summary

    Parallel programs contain a surprising number of ad-hoc synchronization operations. Ad-hoc synchronization operations are loops that busy-wait on condition variables. Current race detectors produce unnecessary warnings (false positives) when ad-hoc synchronization is used. False positives are also generated when programmers use synchronization primitives that are unknown to race detectors, for instance when programmers switch libraries. These shortcomings may result in an overwhelming number of false positives, dissuading programmers from using race detectors.This paper shows that ad-hoc synchronization operations can be detected automatically. The method requires no user intervention such as annotations and has been implemented in the race detector Helgrind+. Evaluation results on various benchmarks confirm that Helgrind+ is aware of all synchro- nizations in programs, reliably reports true races, and produces few false alarms. A surprising result is that with the new technique, Helgrind+ can analyze synchronization libraries, so special knowledge about these libraries is not needed in the detector.

  • Jahr:

    2010 

  • Links:
Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

Bibtex

@vortrag{,
author={Walter F. Tichy},
title={Identifying Ad-hoc Synchronization for Enhanced Race Detection},
year=2010,
month=Feb,
abstract={Parallel programs contain a surprising number of ad-hoc synchronization operations. Ad-hoc synchronization operations are loops that busy-wait on condition variables. Current race detectors produce unnecessary warnings (false positives) when ad-hoc synchronization is used. False positives are also generated when programmers use synchronization primitives that are unknown to race detectors, for instance when programmers switch libraries. These shortcomings may result in an overwhelming number of false positives, dissuading programmers from using race detectors.This paper shows that ad-hoc synchronization operations can be detected automatically. The method requires no user intervention such as annotations and has been implemented in the race detector Helgrind+. Evaluation results on various benchmarks confirm that Helgrind+ is aware of all synchro- nizations in programs, reliably reports true races, and produces few false alarms. A surprising result is that with the new technique, Helgrind+ can analyze synchronization libraries, so special knowledge about these libraries is not needed in the detector.},
organization={Universal Parallel Computing Research Center at the University of Illinois in Urbana-Champaign},
pptUrl={https://ps.ipd.kit.edu/downloads/vor_2010_identifying_adhoc_synchronization.pdf},
}