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
Last revision Both sides next revision
sav07_lecture_13_skeleton [2007/05/02 09:59]
vkuncak
sav07_lecture_13_skeleton [2007/05/02 15:18]
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 17: Line 25:
   * best transformer in abstract domain   * best transformer in abstract domain
  
-Computation using wp.  Boolean programs.  Bounding cube length. +Computation using wp.  Boolean programs.
- +
-==== Model checking ==== +
- +
-Finite state space for now. +
- +
-BDDs. +
- +
-Bounded model checking for finite diameter systems.+
  
-==== Counterexample-driven refinement ====+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 
 +Further approximations:​ 
 +  * bounding cube length to 3 
 +  * distributing approximation through logical operations
  
-Heuristic refinement 
-  * expressions in branches 
-  * adding weakest preconditions 
-  * Craig'​s interpolation