Theories, solvers and static analysis by abstract interpretation
- 1 December 2012
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 59 (6) , 1-56
- https://doi.org/10.1145/2395116.2395120
Abstract
The algebraic/model theoretic design of static analyzers uses abstract domains based on representations of properties and pre-calculated property transformers. It is very efficient. The logical/proof theoretic approach uses SMT solvers/theorem provers and computation of property transformers on-the-fly. It is very expressive. We propose to unify both approaches, so that they can be combined to reach the sweet spot best adapted to a specific application domain in the precision/cost spectrum. We first give a new formalization of the proof theoretic approach in the abstract interpretation framework, introducing a semantics based on multiple interpretations to deal with the soundness of such approaches. Then we describe how to combine them with any other abstract interpretation-based analysis using an iterated reduction to combine abstractions. The key observation is that the Nelson-Oppen procedure, which decides satisfiability in a combination of logical theories by exchanging equalities and disequalities, computes a reduced product (after the state is enhanced with some new “observations” corresponding to alien terms). By abandoning restrictions ensuring completeness (such as disjointness, convexity, stably-infiniteness, or shininess, etc.), we can even broaden the application scope of logical abstractions for static analysis (which is incomplete anyway).Keywords
Funding Information
- National Science Foundation (CMACS)
This publication has 44 references indexed in Scilit:
- Constructive design of a hierarchy of semantics of a transition system by abstract interpretationTheoretical Computer Science, 2002
- Abstract Interpretation FrameworksJournal of Logic and Computation, 1992
- Static analysis of arithmetical congruencesInternational Journal of Computer Mathematics, 1989
- Deciding Combinations of TheoriesJournal of the ACM, 1984
- Simplification by Cooperating Decision ProceduresACM Transactions on Programming Languages and Systems, 1979
- Constructive versions of Tarski’s fixed point theoremsPacific Journal of Mathematics, 1979
- MonitorsCommunications of the ACM, 1974
- Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theoryThe Journal of Symbolic Logic, 1957
- A lattice-theoretical fixpoint theorem and its applicationsPacific Journal of Mathematics, 1955
- The Closure Operators of a LatticeAnnals of Mathematics, 1942