Abstract
We describe a method for providing source level debugging for programs that have been automatically parallelized for distributed memory, MIMD machines. We call this method a sequential view of parallel execution because the debugger provides the user with the illusion that he is debugging the source, sequential code even though the parallel program is executing. Sequentird view debugging is both a non-intrnsive and efficient way of providing source level debugging. If parallel execution is allowed while debugging, the program might not necessarily be in a state consistent with sequential execution when it stops after a breakpoint or an exception. In such a case, if the debugger cannot guarantee source level semantics, then it must rerun the program to put the program in a consistent state. Since rerun can be costly, it should be avoided. It is shown that the program state need not be completely consistent with sequential execution to emulate source behavior. Furthermore, program analysis is used to reduce the situations where rerun must lx used.

This publication has 7 references indexed in Scilit: