Abstract—Object ownership enforces encapsulation within object-oriented programs by forbidding incoming aliases into objects ’ representations. Many common data structures, such as collections with iterators, require incoming aliases, so there has been much work on relaxing ownership’s encapsulation to permit multiple incoming aliases. This research asks the opposite question: Are your aliases really necessary? In this paper, we count the cost of programming with strong object encapsulation. We refactored the JDK 5.0 collection classes so that they did not use incoming aliases, following either the owner-as-dominator or the owner-as-accessor encapsulation discipline. We measured the performance time overhead the refactored collections impos...
References are a programming language construct that lets a programmer access a datum invariant of i...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Object ownership allows us to statically control run-time aliasing in order to provide a strong noti...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
The power of objects lies in the flexibility of their interconnection structure. But this flexibilit...
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...
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...
Unwanted effects of aliasing cause encapsulation problems in object oriented programming. Neverthele...
Aliasing occurs when two or more references to an object exist within the object graph of a running ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
The possibility of aliasing between objects constitutes one of the primary challenges in understand...
References are a programming language construct that lets a programmer access a datum invariant of i...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Object ownership allows us to statically control run-time aliasing in order to provide a strong noti...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
The power of objects lies in the flexibility of their interconnection structure. But this flexibilit...
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...
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...
Unwanted effects of aliasing cause encapsulation problems in object oriented programming. Neverthele...
Aliasing occurs when two or more references to an object exist within the object graph of a running ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
The possibility of aliasing between objects constitutes one of the primary challenges in understand...
References are a programming language construct that lets a programmer access a datum invariant of i...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Object ownership allows us to statically control run-time aliasing in order to provide a strong noti...