S.: Enriching Behavior Subtyping [1 citations — 0 self]
Abstract:
The standard approach to dealing with OO polymorphism is to require subclasses to be behavioral subtypes of the base class. This ensures that reasoning that has been done about any client code that operates on base class objects will continue to be valid if instances of the subclasses are used in place of the base class objects. But often we are interested in stronger properties of the client code, in particular that its behavior will be appropriate to the specific subclass objects that are used, rather than just generic behavior that ignores the differences between the different subclasses. We present some examples to illustrate the problem, and propose a formal system that allows us to establish stronger properties of the client code on the basis
Citations
| 1219 | Object-oriented Software Construction – Meyer - 1988 |
| 777 | On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985 |
| 601 | Systematic Software Development Using VDM – Jones - 1986 |
| 354 | A behavioral notion of subtyping – Liskov, Wing - 1994 |
| 118 | Forcing behavioral subtyping through specification inheritance – Dhara, Leavens - 1996 |
| 112 | The Cecil Language - Specification and Rationale – Chambers - 1993 |
| 63 | A new definition of the subtype relation – Liskov, Wing - 1993 |
| 31 | Specification and verification of object-oriented programs using supertype abstraction – Leavens, Weihl - 1995 |
| 15 | Inheriting and modifying behavior – Soundarajan, Fridella - 1997 |
| 11 | Mastering Object-Oriented Design in C – Horstmann - 1995 |
| 11 | Methods as assertions – Lamping, Abadi - 1994 |
| 7 | Designing an object oriented programming language with behavioral subtyping – America - 1991 |
| 2 | Drol: An oo language for distributed real-time systems – Takashio, Tokoro - 1992 |

