Automated Reasoning and Natural Proofs for Programs Manipulating Data Structures

P. Madhusudan · DROPS (Schloss Dagstuhl – Leibniz Center for Informatics) · 2012

We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintaining complex and multiple data-structures, given modular pre-post conditions and loop invariants. We discuss specification logics for heaps, and discuss two classes of automatic procedures for reasoning with these logics. The first identifies fragments of logics that admit completely decidable reasoning. The second is a new approach called the natural proof method that builds proof procedures for very expressive logics that are automatic and sound (but incomplete), and that embody natural proof tactics learnt from manual verification.

Read the paper · More papers on PaperTik