Patent ID: 7975306

Claim:
A non-transitory computer readable medium including stored executable instructions, comprising instructions executing to: convert each of a plurality of diverse program instruction formats of a set of software applications to a common format, wherein the set of software applications is located on a plurality of different platforms and the set of software applications form a defined software system, wherein the executable instructions to convert include executable instructions to break down expressions of the plurality of diverse program instruction formats into a single set of equivalent sequences of simpler statements to support analysis of the defined software system, wherein the diverse program instruction formats result in a corresponding set of translations, each in the common format, wherein the set of translations express the functions of the defined software system; derive a homogenous software system model of the defined software system from the set of translations, wherein the homogeneous software system model characterizes program interactions between the plurality of diverse program instruction formats located on the plurality of different platforms; perform a static analysis on the homogeneous software system model to identify security vulnerabilities, wherein the static analysis includes analyzing the homogeneous software system model without executing the system model; and insert sensors into the defined software system based upon the static analysis.