This Article 
 Bibliographic References 
 Add to: 
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
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.