An explanation of the challenges presented by parallel debugging, and the value of a reverse debugging capability.
Debugging is the most time-consuming and costly phase of the software development lifecycle. The hardest step in solving software bugs is 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. Reverse debugging technologies have the potential to greatly reduce the time required to identify and solve many of the most difficult bugs by adding the ability to replay parallel program execution. This white paper explains the challenges presented by parallel debugging and the value of a reverse capability to achieve significant productivity gains.