LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sav07_lecture_13_skeleton [2007/05/02 09:57]
vkuncak
sav07_lecture_13_skeleton [2007/05/02 15:19] (current)
vkuncak
Line 7: Line 7:
   * model checking (finite state or pushdown system)   * model checking (finite state or pushdown system)
   * counterexample-driven refinement   * counterexample-driven refinement
 +
 +Today: abstraction
  
 ==== Abstraction ==== ==== Abstraction ====
 +
 +Main readings:
 +  * [[http://​www-verimag.imag.fr/​~graf/​biblio.php?​view=full#​GrafSaidi97|Construction of abstract state graphs with PVS]]
 +  * [[http://​www.mpi-sb.mpg.de/​~podelski/​papers/​cartesian.ps|Boolean and Cartesian Abstraction for Model Checking C Programs, Thomas Ball, Andreas Podelski, Sriram K. Rajamani. TACAS 2001: 268-283 (paper in .PS format)]]
 +  * [[http://​doi.acm.org/​10.1145/​378795.378846|Automatic Predicate Abstraction of C Programs, Thomas Ball, Rupak Majumdar, Todd D. Millstein, Sriram K. Rajamani. PLDI 2001: 203-213]]
 +
  
 Design space of abstractions:​ Design space of abstractions:​
Line 16: Line 24:
   * focus (splitting, case analysis)   * focus (splitting, case analysis)
   * best transformer in abstract domain   * best transformer in abstract domain
 +
 +Examples.
 +
 +Computation using wp.  Weakest predicate abstraction of a given formula. ​ Boolean programs.
 +
 +Precision-preserving optimizations:​
 +  * cubes in increasing order
 +  * do not update variables if command cannot change them
 +  * cone of influence to reduce the number of predicates to consider
 +  * syntactic construction of predicates
 +  * caching of calls to theorem prover
 +Approximations:​
 +  * bounding cube length to 3
 +  * distributing approximation through logical operations