1. A method for enabling software applications to recover from fault conditions, the method comprising: assigning, using a hardware processor, a first repair procedure to a first memory location within a software application and a second repair procedure to a second memory location within the software application that is different from the first memory location; determining that a fault condition during execution of the software application exists that triggers at least one of the first repair procedure and the second repair procedure; determining an address of a memory location associated with the triggered repair procedure; assigning a value to the determined address associated with the memory location; and restoring the execution of the software application based on a memory log of changes to memory during the execution of the software application.