1. A method for performing static analysis of software to detect security vulnerabilities, comprising acts of: generating an application architecture model for a software application, wherein: the application architecture model is generated based on source code of the software application and a framework model representing a software framework using which the software application is developed; and the application architecture model comprises a plurality of component models; selecting, based on a property to be checked, one or more component models from the plurality of component models; and analyzing the one or more component models to determine if the property is satisfied.