Automatic software model checking via constraint logic

Cormac Flanagan
2004 Science of Computer Programming  
This paper proposes the use of constraint logic to perform model checking of imperative, inÿnite-state programs. We present a semantics-preserving translation from an imperative language with recursive procedures and heap-allocated mutable data structures into constraint logic. The constraint logic formulation provides a clean way to reason about the behavior and correctness of the original program. In addition, it enables the use of existing constraint logic implementations to perform bounded
more » ... oftware model checking, using a combination of symbolic reasoning and explicit path exploration.
doi:10.1016/j.scico.2004.01.006 fatcat:hwogziywunawbmm5igyknaw2ra