Two for the Price of One: Lifting Separation Logic Assertions
Abstract
Recently, data abstraction has been studied in the context of separation logic, with noticeable practical successes: the developed logics have enabled clean proofs of tricky challenging programs, such as subject-observer patterns, and they have become the basis of efficient verification tools for Java (jStar), C (VeriFast) and Hoare Type Theory (Ynot). In this paper, we give a new semantic analysis of such logic-based approaches using Reynolds's relational parametricity. The core of the analysis is our lifting theorems, which give a sound and complete condition for when a true implication between assertions in the standard interpretation entails that the same implication holds in a relational interpretation. Using these theorems, we provide an algorithm for identifying abstraction-respecting client-side proofs; the proofs ensure that clients cannot distinguish two appropriately-related module implementations.
- Publication:
-
arXiv e-prints
- Pub Date:
- August 2012
- DOI:
- 10.48550/arXiv.1208.5895
- arXiv:
- arXiv:1208.5895
- Bibcode:
- 2012arXiv1208.5895T
- Keywords:
-
- Computer Science - Programming Languages;
- F.3.1
- E-Print:
- Logical Methods in Computer Science, Volume 8, Issue 3 (September 21, 2012) lmcs:997