The power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyse. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, making it difficult to reason about and optimise programs, obscuring the flow of information between objects, and introducing security problems. Aliasing is a fundamental difficulty, but we accept its presence. Instead we seek techniques for describing, reasoning about, restricting, analysing, and preventing the connections between objects and/or the flow of info...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Abstract—Object ownership enforces encapsulation within object-oriented programs by forbidding incom...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
The power of objects lies in the flexibility of their interconnection structure. But this flexibilit...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Unwanted effects of aliasing cause encapsulation problems in object oriented programming. Neverthele...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
Aliasing occurs when two or more references to an object exist within the object graph of a running ...
Abstract. Aliasing is endemic in object oriented programming. Because an object can be modified via ...
This thesis presents a general model of access control. It uses a simple notion of an access permiss...
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias,...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Unrestricted aliasing is a problem endemic to object oriented programming. It allows notions of enca...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Abstract—Object ownership enforces encapsulation within object-oriented programs by forbidding incom...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
The power of objects lies in the flexibility of their interconnection structure. But this flexibilit...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Unwanted effects of aliasing cause encapsulation problems in object oriented programming. Neverthele...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
Aliasing occurs when two or more references to an object exist within the object graph of a running ...
Abstract. Aliasing is endemic in object oriented programming. Because an object can be modified via ...
This thesis presents a general model of access control. It uses a simple notion of an access permiss...
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias,...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Unrestricted aliasing is a problem endemic to object oriented programming. It allows notions of enca...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Abstract—Object ownership enforces encapsulation within object-oriented programs by forbidding incom...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...