1. A computer implemented method of verifying events generated by an agent, said method comprising: detecting a stimulus at an input of said agent; determining whether generation of an event by said agent in response to said stimulus is conditional; creating an expectation of said event based at least in part on said stimulus, wherein said agent is expected to generate said event; indicating that said expectation is speculative when said generation of said event is conditional, so that said expectation is a speculative expectation; converting said speculative expectation to a non-speculative expectation when conditions indicate that said even should be generated by said agent; deleting said speculative expectation when said conditions indicate that said event should not be generated by said agent; when said speculative expectation was converted to a non-speculative expectation, verifying whether said non-speculative event was generated by said agent signaling an error when said non-speculative event was not generated by said agent; when said speculative expectation was deleted, verifying whether said deleted speculative expectation was generated by said agent and signaling an error when said deleted speculative expectation was generated by said agent.