Patent ID: 8677355
Filing Date: 2014-03-18
Classification: G06F

Abstract:
1. A computer-implemented method for branching from an original virtual machine to one or more clone virtual machines to consider divergent states, the method comprising: receiving application code for execution on the original virtual machine, wherein the application code includes at least one branch that results in two or more possible states of the virtual machine; executing the original virtual machine including the received application code; identifying a branch in the application code running on the original virtual machine that results in two or more possible states of the virtual machine by obtaining information from the application code that indicates a location where the application will branch into multiple possible states; creating one or more clone virtual machines that duplicate a current state of the original virtual machine and then each process one path of the branch to explore a subsequent state in the created clone virtual machine; setting up each clone virtual machine to execute a different path of the identified branch; executing the original virtual machine and cloned virtual machines to explore at least two paths of the identified branch in parallel; and receiving at least one execution result from the cloned virtual machines, wherein the preceding steps are performed by at least one processor.