Inductive reasoning for shape invariants

Lilia Georgieva, Patrick J. Maier · 2009

Abstract. Automatic verification of imperative programs that destructively manipulate heap data structures is challenging. In this paper we propose an approach for verifying that such programs do not corrupt their data structures. We specify heap data structures such as lists, arrays of lists, and trees inductively as solutions of logic programs. We use off-the-shelf first-order theorem provers to reason about these specifications. 1

Read the paper · More papers on PaperTik