Skip to search boxSkip to navigationSkip to main content

Verifying object-oriented programs with higher-order separation logic in Coq

Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 22-38

Journal (Volume, Issue Number)

Lecture Notes in Computer Science (Volume 6898)

Publication milestones

  • Published - 2011

Publication status

Published - 2011

ISSN

0302-9743

Publication 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