Patent ID: 9594913
Date: 2017-03-14
CPC Classifications: G06F

Claim:
1. A computer implemented method for analyzing a software application and for providing actionable intelligence on remediation efforts, including the steps of: storing the software application on a memory device by a processor, the software application including a plurality of software application modules arranged in a predetermined flow structure, each software application module including predefined segments of code; accessing each of the plurality of software application modules and identifying vulnerabilities within each predefined segments of code associated with the corresponding software application modules, using the processor programmed to operate as a vulnerability identification unit coupled to the memory device, and assigning a severity to each identified vulnerability; analyzing, using the processor programmed to operate as a vulnerability correlation index generation unit coupled to the memory device and the vulnerability identification unit, the identified vulnerabilities and assigning a recommended vulnerability remediation effort to each identified vulnerability, establishing one or more groups of software application modules as a function of the assigned recommended vulnerability remediation efforts, and generating a vulnerability correlation index (VCI) value associated with each group of software application modules including comparing the predefined segments of code of each software application module included in a corresponding group; selecting, using the processor programmed to operate as a code dependency index generation unit coupled to the memory device, the vulnerability identification unit, and the vulnerability correlation index unit, each group of software application modules having a predefined VCI value and analyzing each selected group of software application modules to identifying a code dependency index including a point within the predetermined flow structure common to each software application module within the same group of software application modules; establishing, using the processor programmed to operate as a code vulnerability index generating unit coupled to the memory device, the vulnerability identification unit, the vulnerability correlation index generation unit, and the code dependency index generation unit, a code vulnerability index associated with each group of software application modules as a function of the vulnerabilities, the vulnerability correlation index and the code dependency index; and, generating, using the processor programmed to operate as a prioritization list generation unit coupled to the memory device, the vulnerability identification unit, the vulnerability correlation index unit, and the code dependency index generation unit, a prioritized list of remediation efforts aimed at mitigating the identified vulnerabilities, the prioritized list of remediation efforts including the identified vulnerabilities and the severity assigned to each identified vulnerability, the vulnerability correlation index associated with each group of vulnerabilities, and the corresponding code dependency indexes and storing the prioritized list of remediation efforts within the memory device.