Verifying executable object-oriented specifications with separation logic

2Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Specifications of Object-Oriented programs conventionally employ Boolean expressions of the programming language for assertions. Programming errors can be discovered by checking at runtime whether an assertion, such as a precondition or class invariant, holds. In this work, we show how separation logic can be used to verify that these executable specifications will always hold at runtime. Both the program and its executable assertions are verified with respect to separation logic specifications. A novel notion called relative purity embraces historically problematic side-effects in executable specifications, and verification boils down to proving connecting implications. Even model-based specifications can be verified. The framework is also well-suited to separation logic proof tools and now implemented in jStar. Numerous automatically verified examples illustrate the framework's use and utility. © 2010 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Van Staden, S., Calcagno, C., & Meyer, B. (2010). Verifying executable object-oriented specifications with separation logic. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6183 LNCS, pp. 151–174). https://doi.org/10.1007/978-3-642-14107-2_8

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free