Foundations of Abstract Interpretation
نویسنده
چکیده
Semantics Similar to concrete semantics: A complete lattice (L#, ≤) as the domain for abstract elements A monotone function F# corresponding to the concrete function F Then the abstract semantics is the least fixed point of F#, lfp F# If F# “correctly approximates” F, then lfp F# “correctly approximates” lfp F. An Example Abstract Domain for Values of Variables How to relate the two? Concretization function, specifying “meaning” of abstract values. Abstraction function: determines best representation concrete values. Relation between the Abstract and Concrete Domains 1. Are these functions monotone? 2. Should they be? 3. What is the meaning of the partial order in the abstract domain? 4. What if we first abstract and the concretize? How to Compute in the Abstract Domain Example: Multiplication on Flat Lattice 0 a 0 b * # Denotes abstract version of operator How to Compute in the Abstract Domain: Correctness Conditions Correctness Condition: Correct by construction (if concretization and abstraction have certain properties): How to Compute in the Abstract Domain Example: Multiplication on Flat Lattice 0 * #
منابع مشابه
The Theological Foundations of Subjectvize Interpretation
The Quran is the most authentic and reliable everlasting document of Islam. The popular method for attaining such Quranic teachings is to appeal to successive interpretation of the Quran according to which the Quranic chapters and verses are interpretated on the basis of the present arrangement. But everyone know that his method inspite of its positive points suffers from certain shortcomings. ...
متن کاملStatic Analysis and Verification of Aerospace Software by Abstract Interpretation
We discuss the principles of static analysis by abstract interpretation and report on the automatic verification of the absence of runtime errors in large embedded aerospace software by static analysis based on abstract interpretation. The first industrial applications concerned synchronous control/command software in open loop. Recent advances consider imperfectly synchronous programs, paralle...
متن کاملTutorial on Static Inference of Numeric Invariants by Abstract Interpretation
Born in the late 70s, Abstract Interpretation has proven an effective method to construct static analyzers. It has led to successful program analysis tools routinely used in avionic, automotive, and space industries to help ensuring the correctness of mission-critical software. This tutorial presents Abstract Interpretation and its use to create static analyzers that infer numeric invariants on...
متن کاملLogical Interpretation: Static Program Analysis Using Theorem Proving
This paper presents the foundations for using automated deduction technology in static program analysis. The central principle is the use of logical lattices – a class of lattices defined on logical formulas in a logical theory – in an abstract interpretation framework. Abstract interpretation over logical lattices, called logical interpretation, raises new challenges for theorem proving. We pr...
متن کاملConstraint Databases and Program Analysis Using Abstract Interpretation
In this paper we discuss a connection between two seemingly distant research areas in computer science: constraint databases and abstract interpretation. We show that while the goals of research in the respective communities are diierent, the used techniques are often based on similar common foundations. We substantiate this claim by showing that abstract interpretation of a standard (Algol-lik...
متن کاملLogical Abstract Domains and Interpretations
We give semantic foundations to abstract domains consisting in first order logic formulæ in a theory, as used in verification tools or methods using SMT-solvers or theorem provers. We exhibit conditions for a sound usage of such methods with respect to multi-interpreted semantics and extend their usage to automatic invariant generation by abstract interpretation.
متن کامل