B. Mihaila and A. Simon. Synthesizing Predicates from Abstract Domain Losses. In J. Badger and K. Y. Rosier, editors, NASA Formal Methods, volume 8430 of LNCS, pages 328--342, Houston, Texas, USA, April 2014. Springer.

Numeric abstract domains are key to many verification problems. Their ability to scale hinges on using convex approximations of the possible variable valuations. In certain cases, this approximation is too coarse to verify certain verification conditions, namely those that require disjunctive invariants. A common approach to infer disjunctive invariants is to track a set of states. However, this easily leads to scalability problems. In this work, we propose to augment a numeric analysis with an abstract domain of predicates. Predicates are synthesized whenever an abstract domain loses precision due to convexity. The predicate domain is able to recover this loss at a later stage by re-applying the synthesized predicates on the numeric abstract domain. This symbiosis combines the ability of numeric domains to compactly summarize states with the ability of predicate abstraction to express disjunctive invariants and non-convex spaces. We further show how predicates can be used as a tool for communication between several numeric domains.

Download: PDF Reference: Bibtex The original publication is available at www.springerlink.com