The reduced product of abstract domains and the combination of decision procedures

  • Authors:
  • Patrick Cousot;Radhia Cousot;Laurent Mauborgne

  • Affiliations:
  • Courant Institute of Mathematical Sciences, New York University and École Normale Supérieure & Inria, Paris;École Normale Supérieure & Inria, Paris and Courant Institute of Mathematical Sciences, New York University;Courant Institute of Mathematical Sciences, New York University and Instituto Madrileño de Estudios Avanzados, Madrid

  • Venue:
  • FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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 and computation on-the-fly of property transformers. It is very expressive.We propose a combination of the two approaches to reach the sweet spot best adapted to a specific application domain in the precision/cost spectrum. The proposed combination uses 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). We also introduce a semantics based on multiple interpretations to deal with the soundness of that combinations on a formal basis.