Issue No. 01 - January/February (1992 vol. 9)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.108783
<p>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.</p>
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
P. A. Emrath, D. A. Padua and S. Ghosh, "Detecting Nondeterminacy in Parallel Programs," in IEEE Software, vol. 9, no. , pp. 69-77, 1992.