Reasoning about object-oriented programs that use subtypes
Authors:
Open Access
- 1 September 1990
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 25 (10) , 212-223
Abstract
Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of different types and by letting supertypes stand for all their subtypes. We describe formal specification and verification techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about programs that use abstract data types. Semantic restrictions on subtype relationships guarantee the soundness of these techniques.Keywords
This publication has 11 references indexed in Scilit:
- An algebraic model of subtype and inheritance1990
- Reasoning about object-oriented programs that use subtypes1990
- How to make ad-hoc polymorphism less ad hoc1989
- Writing Larch interface language specificationsACM Transactions on Programming Languages and Systems, 1987
- Object structure in the Emerald system1986
- Encapsulation and inheritance in object-oriented programming languages1986
- Representation independence and data abstraction1986
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985
- Logical relations and the typed λ-calculusInformation and Control, 1985
- Notes on Type Abstraction (Version 2)IEEE Transactions on Software Engineering, 1980