This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Detecting Nondeterminacy in Parallel Programs
January/February 1992 (vol. 9 no. 1)
pp. 69-77

Methods and tools for detecting nondeterminacy in programs for shared-memory multiprocessors are discussed. The approach described divides the debugging chore into two phases. The first phase uses tools that automatically detect nondeterminacy to debug synchronization errors, assuming it is decided at the outset to make the parallel program determinate. At the end of this phase, it is known that the program is determinate, that timing differences will not affect results, and the debugging sessions are repeatable. In the second phase, an interactive break-point debugger is used to find arithmetic and logical errors. The proposed tools fall into two groups: those that statically analyze the source program and those that analyze an execution trace of the program.

Index Terms:
nondeterminacy detection; parallel programs; shared-memory multiprocessors; debugging; synchronization errors; timing differences; interactive break-point debugger; arithmetic and logical errors; source program; parallel programming; program debugging; synchronisation
Citation:
Perry A. Emrath, Sanjoy Ghosh, David A. Padua, "Detecting Nondeterminacy in Parallel Programs," IEEE Software, vol. 9, no. 1, pp. 69-77, Jan.-Feb. 1992, doi:10.1109/52.108783
Usage of this product signifies your acceptance of the Terms of Use.