A Behavioral Notion of Subtyping
E811520
"A Behavioral Notion of Subtyping" is a foundational computer science paper by Barbara Liskov and Jeannette Wing that formally defines subtyping in terms of behavioral substitutability, underpinning modern object-oriented type theory.
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
foundational paper in type theory
ⓘ
scientific paper ⓘ |
| associatedWith |
Carnegie Mellon University (via Jeannette Wing)
NERFINISHED
ⓘ
MIT (via Barbara Liskov) NERFINISHED ⓘ |
| author |
Barbara Liskov
NERFINISHED
ⓘ
Jeannette Wing NERFINISHED ⓘ |
| contribution |
criteria for correct use of inheritance
ⓘ
formalization of substitutability in type systems ⓘ framework for reasoning about object-oriented program correctness ⓘ link between type hierarchies and behavioral specifications ⓘ |
| coreConcept |
clients of a supertype should work with any subtype without modification
ⓘ
invariants of supertype must be preserved by subtype ⓘ postconditions of subtype methods must be at least as strong as those of supertype ⓘ preconditions of subtype methods cannot be stronger than those of supertype ⓘ specifications define required behavior for subtyping ⓘ subtype must preserve behavioral properties of supertype ⓘ subtyping relates specifications, not just implementations ⓘ |
| defines |
behavioral notion of subtyping
ⓘ
subtyping in terms of behavioral substitutability ⓘ |
| emphasizes | substitutability of subtypes for supertypes ⓘ |
| field |
computer science
ⓘ
programming languages ⓘ type theory ⓘ |
| hasNamedPrinciple | Liskov Substitution Principle NERFINISHED ⓘ |
| impact |
considered a classic in programming languages research
ⓘ
shaped understanding of safe reuse via inheritance ⓘ underpins reasoning about inheritance and interfaces ⓘ widely cited in software engineering literature ⓘ |
| influenced |
design of programming language type systems
ⓘ
formal methods for object-oriented software ⓘ modern object-oriented type systems ⓘ research on behavioral subtyping ⓘ |
| introduces | Liskov Substitution Principle NERFINISHED ⓘ |
| languageAgnostic | true ⓘ |
| proposes | subtype relation based on behavior rather than representation ⓘ |
| relatedTo |
Liskov substitution principle
NERFINISHED
ⓘ
abstract data types ⓘ interface specification ⓘ object-oriented design principles ⓘ |
| title | A Behavioral Notion of Subtyping NERFINISHED ⓘ |
| topic |
behavioral subtyping
ⓘ
data abstraction ⓘ object-oriented programming ⓘ specification and verification ⓘ subtyping ⓘ |
| underpins |
design of interface hierarchies in object-oriented languages
ⓘ
formal reasoning about polymorphism ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.