The object-oriented community is paying increasing attention to techniques for object instance encapsulation and alias protection. Formal techniques for modular verification of programs at the level of objects are being developed hand in hand with type systems and static analysis techniques for restricting the structure of runtime object graphs. Ownership type systems have provided a sound basis for such structural restrictions by being able to statically represent an extensible object ownership hierarchy. However, such structural restrictions may potentially have limitations on cases when more flexible reference structures are desired.In this thesis, we present a different encapsulation technique, called Effect Encapsulation, which confine...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
The modular verification of object-oriented code is made dif-ficult by the presence of aliasing. If ...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Object invariants describe the consistency of object states, and are crucial for reasoning about the...
Abstract. Object invariants describe the consistency of object states, and are crucial for reasoning...
Representation exposure is a well-known problem in the object-oriented realm. Object encapsulation m...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Containment of objects is a natural concept that has been poorly supported in object-oriented prog...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
The presence of aliasing makes modular verification of object-oriented code difficult. If multiple c...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
The modular verification of object-oriented code is made dif-ficult by the presence of aliasing. If ...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Object invariants describe the consistency of object states, and are crucial for reasoning about the...
Abstract. Object invariants describe the consistency of object states, and are crucial for reasoning...
Representation exposure is a well-known problem in the object-oriented realm. Object encapsulation m...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Containment of objects is a natural concept that has been poorly supported in object-oriented prog...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
The presence of aliasing makes modular verification of object-oriented code difficult. If multiple c...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
The modular verification of object-oriented code is made dif-ficult by the presence of aliasing. If ...