Verifying object-oriented programs with higher-order separation logic in Coq
- ,
- Jonas Braband Jensen,
- Filip Sieczkowski,
- Lars Birkedal
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 22-38Journal (Volume, Issue Number)
Lecture Notes in Computer Science (Volume 6898)Publication milestones
- Published - 2011
Publication status
Published - 2011
ISSN
0302-9743Publication IDs
- Scopus: 80052177243
Abstract
We present a shallow Coq embedding of a higher-order separation logic with nested triples for an object-oriented programming language. Moreover, we develop novel specification and proof patterns for reasoning in higher-order separation logic with nested triples about programs that use interfaces and interface inheritance. In particular, we show how to use the higher-order features of the Coq formalisation to specify and reason modularly about programs that (1) depend on some unknown code satisfying a specification or that (2) return objects conforming to a certain specification. All of our results have been formally verified in the interactive theorem prover Coq.
Publication metrics
PlumX, opens in new tab
Captures
9
Citations
19
Access to documents
Submitted manuscript, 359.54 KB
