Beyond assertions: Advanced specification and verification with JML and ESC/Java2

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

Abstract

Many state-based specification languages, including the Java Modeling Language (JML), contain at their core specification constructs familiar to most undergraduates: e.g., assertions, pre- and postconditions, and invariants. Unfortunately, these constructs are not sufficiently expressive to permit formal modular verification of programs written in modern object-oriented languages like Java. The necessary extra constructs for specifying an object-oriented module include (perhaps the less familiar) frame properties, datagroups, and ghost and model fields. These constructs help specifiers deal with potential problems related to, for example, unexpected side effects, aliasing, class invariants, inheritance, and lack of information hiding. This tutorial paper focuses on JML's realization of these constructs, explaining their meaning while illustrating how they can be used to address the stated problems. © Springer-Verlag Berlin Heidelberg 2006.

Cite

CITATION STYLE

APA

Chalin, P., Kiniry, J. R., Leavens, G. T., & Poll, E. (2006). Beyond assertions: Advanced specification and verification with JML and ESC/Java2. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4111 LNCS, pp. 342–363). Springer Verlag. https://doi.org/10.1007/11804192_16

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