1. A method for detecting a presence of at least one vulnerability in an application, the method comprising: modifying instructions of the application to include at least one monitor that is configurable to generate an action snapshot, wherein the action snapshot includes at least some data associated with the action; storing the action snapshot with other stored action snapshots generated by the at least one monitor during the execution of the application; analyzing the stored action snapshots; detecting a presence of at least one vulnerability in the application based on the analysis of the stored action snapshots; and reporting the presence of at least one vulnerability.