1. A computer implemented method, comprising the steps of: automatically generating assertions, the assertions usable to verify application-specific security properties, for a computer software program with an assertion generator module, wherein the assertion generator module is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions; automatically analyzing the computer software program to ensure that it satisfies the application-specific security properties with an assertion checker module, wherein the assertion checker module is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions; and generating feedback to diagnose security flaws detected in the computer software program based on the analysis with a graphical user interface module, wherein the graphical user interface module is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions.