Patent Document ID: 10127135
Application ID: 15249300
Patent Status: 1

Claim One:
1. A computer-implemented method for performing static analysis to detect security vulnerabilities in a software application, comprising: constructing, by at least one computer processor, a plurality of component models; reducing, by the at least one computer processor, the plurality of component models, based on whether any component model is relevant to a property to be checked, wherein the reducing comprises removing information; generating, by the at least one computer processor, a first application architecture model for the software application, wherein: the first application architecture model is generated based on a first version of code of the software application, and the first application architecture model comprises the reduced plurality of component models; comparing, by the at least one computer processor, a second version of the code against the first version of the code to determine a difference between the first version of the code and the second version of the code; identifying, by the at least one computer processor, based on the difference between the first version of the code and the second version of the code, an affected component model of the first application architecture model; generating, by the at least one computer processor, based on the first application architecture model and based on the second version of the code, a second application architecture model, wherein generating the second application architecture model comprises generating, by the at least one computer processor, an updated version of the affected component model; analyzing, by the at least one computer processor, the updated version of the affected component model to determine whether the property is satisfied; in response to determining that the property to be checked is affected by the difference between the first version of the code and the second version of the code, analyzing, by the at least one computer processor, a component model of the second application architecture model to determine whether the component model satisfies the property; and delivering, by the at least one computer processor, a result of at least one of the analyzing the updated version of the affected component model and the analyzing the component model of the second application, in real time when the code of the software application is added or modified.