Formalized Verification of Snapshotable Trees: Separation and Sharing

Hannes Mehnert, Filip Sieczkowski, Lars Birkedal, Peter Sestoft

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    Abstract

    We use separation logic to specify and verify a Java program
    that implements snapshotable search trees, fully formalizing the speci-
    cation and verication in the Coq proof assistant. We achieve local and
    modular reasoning about a tree and its snapshots and their iterators, al-
    though the implementation involves shared mutable heap data structures
    with no separation or ownership relation between the various data.
    The paper also introduces a series of four increasingly sophisticated im-
    plementations and veries the rst one. The others are included as future
    work and as a set of challenge problems for full functional specication
    and verication, whether by separation logic or by other formalisms.

    Original languageEnglish
    Title of host publicationVerified Software: Theories, Tools, Experiments : 4th International Conference, VSTTE 2012, Philadelphia, PA, USA, January 28-29, 2012. Proceedings
    Number of pages15
    Volume 7152
    PublisherSpringer
    Publication date2012
    Pages179-195
    ISBN (Print)978-3-642-27704-7
    DOIs
    Publication statusPublished - 2012
    SeriesLecture Notes in Computer Science
    Volume7152
    ISSN0302-9743

    Keywords

    • Separation Logic
    • Snapshotable Search Trees
    • Coq Proof Assistant
    • Local and Modular Reasoning
    • Shared Mutable Heap Data Structures

    Fingerprint

    Dive into the research topics of 'Formalized Verification of Snapshotable Trees: Separation and Sharing'. Together they form a unique fingerprint.

    Cite this