Title :
Detecting data races from sequential traces
Author :
Helmbold, David P. ; McDowell, Charles E. ; Wang, Jian-Zhong
Author_Institution :
Board of Studies in Comput. & Inf. Sci., California Univ., Santa Cruz, CA, USA
Abstract :
One of the fundamental problems encountered when debugging a parallel program is determining the race conditions in the program. This paper presents a tool for automatically detecting data races in parallel programs by analyzing program traces. Given a trace of important events, the authors present a series of algorithms which identify those pairs of events which may have participated in a race condition. The linear event trace is first converted into a partial ordering which reflects one of the possible executions. Other algorithms modify the partial ordering on the events, extracting information common to all of the executions which could have generated the linear trace. This allows one to analyze sets of executions rather than just one specific execution based on the trace information. A working trace analyzer has been implemented for IBM parallel fortran. The trace analyzer can report various data races in parallel programs by finding unordered pairs of events and variable access conflicts
Keywords :
FORTRAN; hazards and race conditions; parallel languages; parallel programming; program debugging; IBM parallel fortran; data races; debugging; distributed systems; linear event trace; parallel program; partial ordering; program execution; program traces; race conditions; sequential traces; shared data accessing; time vector; unordered pairs; variable access conflicts; Clocks; Concurrent computing; Data mining; Debugging; History; Information analysis; Probes; Read-write memory; Synchronization; Writing;
Conference_Titel :
System Sciences, 1991. Proceedings of the Twenty-Fourth Annual Hawaii International Conference on
Conference_Location :
Kauai, HI
DOI :
10.1109/HICSS.1991.184003