Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows code to work on instances of many different types. Techniques for the formal specification of such polymorphic functions and abstract types are described, as well as a logic for verifying programs that use message passing but not object mutation or assignment. The reasoning techniques formalize informal methods based on the use of subtypes. A formal definition of subtype relationships among abstract types whose objects have no time-varying state but may be nondeterministic or incompletely specified is given. This definition captures the intuition that each instance of a subtype behaves like some instance of that type\u27s supertypes. Specifi...
Since the introduction of Smalltalk, the object-oriented approach towards the organization of data a...
International audienceSession types allow communication protocols to be specified type-theoretically...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
This paper presents a careful analysis of the problem of reasoning about object-oriented programs. ...
We present a formal specification language and a formal verification logic for a simple object-orien...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allow...
Type systems for object-oriented programming languages have been studied a great deal over the past ...
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 mea...
This is a masters thesis on the verification of object-oriented programs. An object-oriented mini-la...
The documentation of object-oriented frameworks and class libraries needs to provide enough informat...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
Modular reasoning about programs that use subtypes requires that an overriding method in a subtype o...
AbstractWe extend type constraints with kind constraints to increase the expressiveness of constrain...
Since the introduction of Smalltalk, the object-oriented approach towards the organization of data a...
International audienceSession types allow communication protocols to be specified type-theoretically...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
This paper presents a careful analysis of the problem of reasoning about object-oriented programs. ...
We present a formal specification language and a formal verification logic for a simple object-orien...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allow...
Type systems for object-oriented programming languages have been studied a great deal over the past ...
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 mea...
This is a masters thesis on the verification of object-oriented programs. An object-oriented mini-la...
The documentation of object-oriented frameworks and class libraries needs to provide enough informat...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
Modular reasoning about programs that use subtypes requires that an overriding method in a subtype o...
AbstractWe extend type constraints with kind constraints to increase the expressiveness of constrain...
Since the introduction of Smalltalk, the object-oriented approach towards the organization of data a...
International audienceSession types allow communication protocols to be specified type-theoretically...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...