DocumentCode
2439235
Title
Identifying ad-hoc synchronization for enhanced race detection
Author
Jannesari, Ali ; Tichy, Walter F.
Author_Institution
Karlsruhe Inst. of Technol. (KIT), Karlsruhe, Germany
fYear
2010
fDate
19-23 April 2010
Firstpage
1
Lastpage
10
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 synchronizations 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.
Keywords
parallel programming; synchronisation; Helgrind; ad-hoc synchronization; parallel programs; race detection; synchronization libraries; Debugging; Libraries; Programming profession; Runtime; Switches; ad-hoc synchronization; data race detection; debugging; dynamic analysis; parallel programs; race conditions; synchronization primitives;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on
Conference_Location
Atlanta, GA
ISSN
1530-2075
Print_ISBN
978-1-4244-6442-5
Type
conf
DOI
10.1109/IPDPS.2010.5470343
Filename
5470343
Link To Document