Abstract Interpretation: Theory and Practice

Our objective in this talk is to give an intuitive account of abstract interpretation theory [1][2][3][4][5] and to present and discuss its main applications [6]. Abstract interpretation theory formalizes the conservative approximation of the semantics of hardware or software computer systems. The semantics provides a formal model describing all possible behaviors of a computer system in interaction with any possible environment. By approximation we mean the observation of the semantics at some level of abstraction, ignoring irrelevant details. Conservative means that the approximation can never lead to an erroneous conclusion.

[1]  Patrick Cousot,et al.  Semantic Analysis of Communicating Sequential Processes (Shortened Version) , 1980, ICALP.

[2]  Alan W. Biermann,et al.  Automatic Program Construction Techniques , 1984 .

[3]  Patrick Cousot,et al.  Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, MFPS.

[4]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[5]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[6]  Patrick Cousot,et al.  Inductive definitions, semantics and abstract interpretations , 1992, POPL '92.

[7]  Reinhard Wilhelm Informatics - 10 Years Back. 10 Years Ahead , 2001, Informatics - 10 Years Back. 10 Years Ahead..

[8]  Patrick Cousot,et al.  Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes , 1978 .

[9]  David Monniaux An Abstract Analysis of the Probabilistic Termination of Programs , 2001, SAS.

[10]  Patrick Cousot,et al.  Abstract Interpretation Based Formal Methods and Future Challenges , 2001, Informatics.

[11]  Francesco Ranzato,et al.  On the Completeness of Model Checking , 2001, ESOP.

[12]  Bruno Blanchet,et al.  An efficient cryptographic protocol verifier based on prolog rules , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[13]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[14]  Patrick Cousot,et al.  The calculational design of a generic abstract interpreter , 1999 .

[15]  Patrick Cousot,et al.  Temporal abstract interpretation , 2000, POPL '00.

[16]  P. Cousot Thesis: These d'Etat es sciences mathematiques: Methodes iteratives de construction et d'approximation de points fixes d'operateurs monotones sur un treillis, analyse semantique de programmes (in French) , 1978 .

[17]  Patrick Cousot,et al.  Systematic design of program transformation frameworks by abstract interpretation , 2002, POPL '02.

[18]  Antoine Miné,et al.  A New Numerical Abstract Domain Based on Difference-Bound Matrices , 2001, PADO.

[19]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[20]  Laurent Mauborgne Tree Schemata and Fair Termination , 2000, SAS.

[21]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[22]  Patrick Cousot,et al.  Semantic foundations of program analysis , 1981 .

[23]  Patrick Cousot,et al.  Static Determination of Dynamic Properties of Recursive Procedures , 1977, Formal Description of Programming Concepts.

[24]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[25]  Jérôme Feret,et al.  Abstract Interpretation-Based Static Analysis of Mobile Ambients , 2001, SAS.

[26]  Radhia Cousot,et al.  Higher-order abstract interpretation (and application to comportment analysis generalizing strictness, termination, projection and PER analysis of functional languages) , 1994, Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94).

[27]  Patrick Cousot,et al.  Invariance proof methods and analysis techniques for parallel programs , 1984 .

[28]  Patrick Cousot,et al.  Types as abstract interpretations , 1997, POPL '97.

[29]  Eric Goubault,et al.  Asserting the Precision of Floating-Point Computations: A Simple Abstract Interpreter , 2002, ESOP.

[30]  Neil D. Jones,et al.  Program Flow Analysis: Theory and Application , 1981 .