kirancodes.me
To Proof Maintenance & Beyond!

Automatic cyclic termination proofs for recursive procedures in separation logic

Reuben N. S. Rowe, James Brotherston

Abstract

We describe a formal verification framework and tool implementation, based upon cyclic proofs, for certifying the safe termination of imperative pointer programs with recursive procedures. Our assertions are symbolic heaps in separation logic with user defined inductive predicates; we employ explicit approximations of these predicates as our termination measures. This enables us to extend cyclic proof to programs with procedures by relating these measures across the pre- and postconditions of procedure calls.

DOI 10.1145/3018610.3018623

Related papers