Higher-order Representation Predicates in Separation Logic
In Separation Logic, representation predicates are used to describe mutable data structures, by establishing a relationship between the entry point of the structure, the piece of heap over which this structure spans, and the logical model associated with the structure. When a data structure is polymorphic, such as in the case of a container, its representation predicate needs to be parameterized not just by the type of the items stored in the structure, but also by the representation predicates associated with these items. Such higher-order representation predicates can be used in particular to control whether containers should own their items. In this paper, we present, through a collection of practical examples, solutions to the challenges associated with reasoning about accesses into data structures that own their elements.
I am a full-time researcher at Inria. I am based in Saclay, in the Toccata team, also part of the VALS team. I am also involved in the DeepSea project at Inria Paris. My research interests span from programming languages to mechanized proofs.
Mon 18 JanDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00
|Higher-order Representation Predicates in Separation Logic
|A Unified Coq Framework for Verifying C Programs with Floating-Point Computations
|Refinement Based Verification of Imperative Data Structures
Peter Lammich Technische Universität München