Journal ArticleDOI
Specification and verification of object-oriented programs using supertype abstraction
Gary T. Leavens,William E. Weihl +1 more
Reads0
Chats0
TLDR
A formal definition for legal subtype relations, based on the specified behavior of objects, is given, and it is shown that this definition is sufficient to ensure the soundness of the verification logic.Abstract:
We present a formal specification language and a formal verification logic for a simple object-oriented programming language. The language is applicative and statically typed, and supports subtyping and message-passing. The verification logic relies on a behavioral notion of subtyping that captures the intuition that a subtype behaves like its supertypes. We give a formal definition for legal subtype relations, based on the specified behavior of objects, and show that this definition is sufficient to ensure the soundness of the verification logic. The verification logic reflects the way programmers reason informally about object-oriented programs, in that it allows them to use static type information, which avoids the need to consider all possible run-time subtypes.read more
Citations
More filters
Journal ArticleDOI
Preliminary design of JML: a behavioral interface specification language for java
TL;DR: JML as mentioned in this paper is a behavioral interface specification language tailored to Java (TM) that allows assertions to be intermixed with Java code; these aid verification and debugging. JML is designed to be used by working software engineers; to do this it follows Eiffel in using Java expressions in assertions.
Preliminary Design of JML: A Behavioral Interface Specification
TL;DR: This paper discusses the goals of JML, the overall approach, and describes the basic features of the language through examples, intended for readers who have some familiarity with both Java and behavioral specification using pre- and postconditions.
Journal ArticleDOI
Abstraction and specification in program development
TL;DR: Abstraction and specification in program development will lead you to love reading starting from now and will improve your quality of the life however is the role.
DissertationDOI
A Runtime Assertion Checker for the Java Modeling Language (JML)
TL;DR: A runtime assertion checker for the Java Modeling Language (JML) that helps in assigning blame during debugging and in automatic generation of test oracles, which represents a significant advance over the current state of the art.
References
More filters
Book
Object-Oriented Software Construction
TL;DR: Object-Oriented Software Construction, second edition is the comprehensive reference on all aspects of object technology, from design principles to Object- Oriented techniques, Design by Contract, Object-O Oriented analysis, concurrency, persistence, abstract data types and many more.
Book
Smalltalk-80: The Language and its Implementation
Adele E. Goldberg,David Robson +1 more
TL;DR: This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.
Book
A mathematical introduction to logic
TL;DR: A comparison of first- and second-order logic in the case of SETs shows that the former is more likely to be correct and the latter is less likely.