Patent ID: 7844954

Claim:
A computer program product stored on a computer readable storage medium and configured to perform a computer-implemented method for replaying execution of a virtual machine running on virtualization software based on a log file containing information related to non-deterministic events of another virtual machine, the method comprising: executing a sequence of guest instructions, including configuring the virtual machine to operate in binary translation mode; tracking an execution point in the sequence of executing guest instructions, the tracking of the execution point comprising determining a current branch count of executed branch instructions; switching operation to interpretation mode responsive to the current branch count matching a logged branch count of a logged non-deterministic event stored in the log file; comparing the execution point to a recorded execution point of information concerning the logged non-deterministic event stored in the log file, including comparing a current instruction pointer and a current iteration counter to a logged instruction pointer and a logged iteration counter, respectively, of the information concerning the logged non-deterministic event; responsive to the current instruction pointer and the current iteration counter matching the logged instruction pointer and the logged iteration counter, respectively, determining that the execution point matches the logged execution point of the information concerning the logged non-deterministic event; and responsive to the execution point matching the logged execution point, inserting a subset of the information from the log file into the virtual machine at the execution point.