The eureka tool for software model checking

We describe EUREKA, a symbolic model checker for Linear Programs with arrays, i.e. programs where variables and array elements range over a numeric domain and expressions involve linear combinations of variables and array elements. This language fragment easily encodes a large class of programs for which, as demonstrated by our experiments, techniques based on predicate abstraction do not apply successfully.

[1]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[2]  Jack Bresenham,et al.  Algorithm for computer control of a digital plotter , 1965, IBM Syst. J..

[3]  Alessandro Armando,et al.  Abstraction Refinement of Linear Programs with Arrays , 2007, TACAS.

[4]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[5]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[6]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[7]  Alessandro Armando,et al.  Software Model Checking Using Linear Constraints , 2004, ICFEM.

[8]  Daniel Kroening,et al.  SATABS: SAT-Based Predicate Abstraction for ANSI-C , 2005, TACAS.

[9]  Alexander A. Stepanov,et al.  C++ Standard Template Library , 2000 .

[10]  Roberto Bagnara,et al.  Possibly Not Closed Convex Polyhedra and the Parma Polyhedra Library , 2002, SAS.

[11]  Gerard J. Holzmann,et al.  Software model checking with SPIN , 2005, Adv. Comput..

[12]  Alessandro Armando,et al.  Model Checking Linear Programs with Arrays , 2006, Electron. Notes Theor. Comput. Sci..

[13]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[14]  Michael J. Vilot,et al.  Standard template library , 1996 .

[15]  Carlo Ghezzi,et al.  Using symbolic execution for verifying safety-critical systems , 2001, ESEC/FSE-9.

[16]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[17]  Robert W. Doran,et al.  The Gray Code , 2007, J. Univers. Comput. Sci..

[18]  Sergey Berezin,et al.  CVC Lite: A New Implementation of the Cooperating Validity Checker Category B , 2004, CAV.

[19]  Kenneth L. McMillan,et al.  An interpolating theorem prover , 2005, Theor. Comput. Sci..