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. © 2011 Springer-Verlag.
CITATION STYLE
Bengtson, J., Jensen, J. B., Sieczkowski, F., & Birkedal, L. (2011). Verifying object-oriented programs with higher-order separation logic in Coq. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6898 LNCS, pp. 22–38). https://doi.org/10.1007/978-3-642-22863-6_5
Mendeley helps you to discover research relevant for your work.