IMDEA Software

Iniciativa IMDEA

Inicio > Eventos > Software Seminar Series > 2010 > Structuring the Verification of Heap-Manipulating Programs
Esta página aún no ha sido traducida. A continuación se muestra la página en inglés.

Aleks Nanevski

viernes 19 de febrero de 2010

11:00am Meeting room 302 (Mountain View), level 3

Aleks Nanevski, Assistant Research Professor, IMDEA Software Institute

Structuring the Verification of Heap-Manipulating Programs

Abstract:

Most systems based on separation logic consider only restricted forms of implication or non-separating conjunction, as full support for these connectives requires a non-trivial notion of variable context, inherited from the logic of bunched implications (BI). We show that in an expressive type theory such as Coq, one can avoid the intricacies of BI, and support full separation logic very efficiently, using the native structuring primitives of the type theory. Our proposal uses reflection to enable equational reasoning about heaps, and Hoare triples with binary postconditions to further facilitate it. We apply these ideas to Hoare Type Theory, to obtain a new proof technique for verification of higher-order imperative programs that is general, extendable, and supports very short proofs, even without significant use of automation by tactics. We demonstrate the usability of the technique by verifying the fast congruence closure algorithm of Nieuwenhuis and Oliveras, employed in the state-of-the-art Barcelogic SAT solver.