LARA

This is an old revision of the document!


Predicate abstraction techniques

See predicate abstraction papers.

Three aspects:

  • abstraction
  • model checking (finite state or pushdown system)
  • counterexample-driven refinement

Abstraction

Design space of abstractions:

  • Cartesian product of abstractions for each predicate
  • powerset with cartesian abstraction (ignores dependences in pre and post)
  • powerset that takes into account the entire state (reduced product)
  • focus (splitting, case analysis)
  • best transformer in abstract domain

Computation using wp. Boolean programs. Bounding cube length.

Model checking

Finite state space for now.

BDDs.

Bounded model checking for finite diameter systems.

Counterexample-driven refinement

Heuristic refinement

  • expressions in branches
  • adding weakest preconditions
  • Craig's interpolation