Patent ID: 6874138

Claim:
A computer-implemented method for software error recovery, comprising: compiling program source code into a first set of object code with a first compiler; compiling the program source code into a second set of object code with a second compiler; identifying checkpoints in the first and second sets of object code, each checkpoint in the first set of object code corresponding to a checkpoint in the second set of object code; associating sets of data objects with the checkpoints; automatically generating executable checkpoint code for execution at the checkpoints, the checkpoint code configured to store state information of the associated data objects for recovery if execution of the program is interrupted; executing the first set of object code; storing the state information in executing the checkpoint code; upon detecting an error in execution of the first set of object code, initially re-executing the first set of object code; and resuming execution using the second set of object code if the first set of object code fails in re-execution.