LOSEJul 20, 2015

On Automated Lemma Generation for Separation Logic with Inductive Definitions

arXiv:1507.05581v143 citations
Originality Incremental advance
AI Analysis

This addresses the challenge of reducing manual effort in deductive verification for programmers and verification engineers, though it is incremental as it builds on existing separation logic methods.

The paper tackles the problem of automating lemma generation for verifying programs that manipulate dynamic data structures using Separation Logic with inductive definitions, and the result is an approach that efficiently handles sophisticated benchmarks like operations on sorted lists, binary search trees, red-black trees, and AVL trees.

Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas relating the inductive definitions. We propose a novel approach for generating these lemmas automatically which is based on simple syntactic criteria and deterministic strategies for applying them. Our approach focuses on iterative programs, although it can be applied to recursive programs as well, and specifications that describe not only the shape of the data structures, but also their content or their size. Empirically, we find that our approach is powerful enough to deal with sophisticated benchmarks, e.g., iterative procedures for searching, inserting, or deleting elements in sorted lists, binary search tress, red-black trees, and AVL trees, in a very efficient way.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes