1. A method for asynchronous assertions, comprising: detecting an asynchronous assertion in a program of instructions executing on a processor associated with an application; creating a snapshot of the application in response to detecting an asynchronous assertion in the program of instructions and in response to detecting one or more updates to one or more objects involved in the asynchronous assertion, the one or more updates occurring in the program of instructions after the detected asynchronous assertion, said one or more objects being modified to at least point to the snapshot, the snapshot of the application including one or more register states of the processor associated with the application and memory states of memory used by the application; allowing the program of instructions to continue executing; evaluating the asynchronous assertion based on the snapshot asynchronously to the program of instructions that continues to execute; and returning result of the evaluation to the program of instructions.