Interpretation Abstract interpretation is a theory of effective abstraction and/or approximation of discrete mathematical structures as found in the semantics of programming languages, modelling program executions, hence program properties, at various levels of abstraction (3,7,8,10,12). Static Analysis by Abstract Interpretation The prominent practical application of abstract interpretation has
... [Show full abstract] been to static program analysis, that is the automatic (without any human intervention), sta- tic (at compile time) determination of dynamic program properties (that always hold at runtime) involving complex abstractions of the infinite state operational semantics (e.g. (4,5,9,11)). Abstract interpretation fights undecidability and com- plexity by approximation of the program execution model which may lead to false alarms in correctness proofs. This happens whenever the combination of the abstract domains involved in the analyzer is not precise enough to express any inductive argument necessary in the correctness proof. Hence, among other possible alternatives, the idea to specialize static analyzers to well-defined fam- ilies of programs and properties for which abstract domains can be designed to express all information necessary to perform inductive proofs (6). Static Analysis of Embedded Control Software