The hardest step in solving software bugs in a parallel programming environment centers on working backward from a software failure to the original program error. Conventional debugging techniques allow users to control program execution only in the forward direction, forcing developers to apply time-consuming methods to attempt to identify the problem.
The paper highlights:
- Challenges of race conditions and other difficult bugs.
- The limitations of the classical interactive debugger paradigm.
- A new paradigm for debugging based upon recording program execution.