Lev-Ami, Tal and Immerman, Neil and Reps, Thomas and Sagiv, Mooly and Srivastava, Siddharthet al. - Simulating reachability using first-order logic with applications to verification of linked data structures

lmcs:680 - Logical Methods in Computer Science, May 28, 2009, Volume 5, Issue 2
Simulating reachability using first-order logic with applications to verification of linked data structures

Authors: Lev-Ami, Tal and Immerman, Neil and Reps, Thomas and Sagiv, Mooly and Srivastava, Siddharth and Yorsh, Greta

This paper shows how to harness existing theorem provers for first-order logic to automatically verify safety properties of imperative programs that perform dynamic storage allocation and destructive updating of pointer-valued structure fields. One of the main obstacles is specifying and proving the (absence) of reachability properties among dynamically allocated cells. The main technical contributions are methods for simulating reachability in a conservative way using first-order formulas--the formulas describe a superset of the set of program states that would be specified if one had a precise way to express reachability. These methods are employed for semi-automatic program verification (i.e., using programmer-supplied loop invariants) on programs such as mark-and-sweep garbage collection and destructive reversal of a singly linked list. (The mark-and-sweep example has been previously reported as being beyond the capabilities of ESC/Java.)


Source : oai:arXiv.org:0904.4902
DOI : 10.2168/LMCS-5(2:12)2009
Volume: Volume 5, Issue 2
Published on: May 28, 2009
Submitted on: April 2, 2006
Keywords: Computer Science - Logic in Computer Science,Computer Science - Programming Languages,F.3.1,F.3.2,F.4.1


Share

Consultation statistics

This page has been seen 51 times.
This article's PDF has been downloaded 14 times.