1. A method for analyzing executable software code using a computer comprising a processor and a memory, the method comprising: processing the executable software code to generate an optimized, exhaustive data flow model including parsing the executable software code to facilitate identification of data flows for inclusion in the exhaustive data flow model; processing the executable software code to generate an optimized, exhaustive control flow model; and storing, in the memory, an intermediate representation of the executable software code that provides a complete model of the executable software code based on the optimized data flow model and the optimized control flow model, thereby facilitating analysis of the executable software code according to comparison of the intermediate representation to reference models.