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; 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.