Using equational logic as a specification language, we investigate the proof theory of behavioral subtyping for object-oriented abstract data types with immutable objects and deterministic methods that can use multiple dispatch. In particular, we investigate a proof technique for correct behavioral subtyping in which each subtype\u27s specification includes terms that can be used to coerce its objects to objects of each of its supertypes. We show that this technique is sound, using our previous work on the model theory of such abstract data types. We also give an example to show that the technique is not complete, even if the methods do not use multiple dispatch, and even if types specified are term-generated. In preparation for the results...
We present a refinement of the existential object model of Pierce and Turner. In addition to signatu...
AbstractThe statementS⩽Tin aλ-calculus with subtyping is traditionally interpreted by a semantic coe...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows...
We present a model-theoretic study of correct behavioral subtyping for first-order, deterministic, a...
data types; F.3.2 [Logics and Meanings of Programs ] Semantics of Programming Languages --- algebrai...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
Object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and veri...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
AbstractThis paper studies the question of when one abstract data type (ADT) is a behavioral subtype...
Modularity and code reuse are two important features of object-oriented programming. Modularity mea...
Abstract Subtyping relations for object-oriented formalisms describe relationships be-tween super- a...
Abstract. In this paper we investigate the object-oriented notion of subtyping in the context of beh...
The work described in this paper is based on a November 1994 A CM TOPLAS paper, "A Behavioral N...
Verification of a dynamically dispatched method call, E.m(), seems to depend on E\u27s dynamic type....
The algebraic calculus for reasoning about the complete behavior of object types and the effects of ...
We present a refinement of the existential object model of Pierce and Turner. In addition to signatu...
AbstractThe statementS⩽Tin aλ-calculus with subtyping is traditionally interpreted by a semantic coe...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows...
We present a model-theoretic study of correct behavioral subtyping for first-order, deterministic, a...
data types; F.3.2 [Logics and Meanings of Programs ] Semantics of Programming Languages --- algebrai...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
Object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and veri...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
AbstractThis paper studies the question of when one abstract data type (ADT) is a behavioral subtype...
Modularity and code reuse are two important features of object-oriented programming. Modularity mea...
Abstract Subtyping relations for object-oriented formalisms describe relationships be-tween super- a...
Abstract. In this paper we investigate the object-oriented notion of subtyping in the context of beh...
The work described in this paper is based on a November 1994 A CM TOPLAS paper, "A Behavioral N...
Verification of a dynamically dispatched method call, E.m(), seems to depend on E\u27s dynamic type....
The algebraic calculus for reasoning about the complete behavior of object types and the effects of ...
We present a refinement of the existential object model of Pierce and Turner. In addition to signatu...
AbstractThe statementS⩽Tin aλ-calculus with subtyping is traditionally interpreted by a semantic coe...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows...