Skip to main content
Article thumbnail
Location of Repository

Are Your Incoming Aliases Really Necessary? Counting the Cost of Object Ownership

By Alex Potanin, Monique Damitio and James Noble

Abstract

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 owneras-dominator or the owner-as-accessor encapsulation discipline. We measured the performance time overhead the refactored collections impose on a set of microbenchmarks and on the DaCapo, SPECjbb and SPECjvm benchmark suites. While the microbenchmarks show that individual operations and iterations can be significantly slower on encapsulated collection (especially for owner-as-dominator), we found less than 3 % slowdown for owner-as-accessor across the large scale benchmarks. As a result, we propose that well-known design patterns such as Iterator commonly used by software engineers around the world need to be adjusted to take ownership into account. As most design patterns are used as a building block in constructing larger pieces of software, a small adjustment to respect ownership will not have any impact on the productivity of programmers but will have a huge impact on the quality of the resulting code with respect to aliasing. I

Year: 2013
OAI identifier: oai:CiteSeerX.psu:10.1.1.353.3752
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • http://citeseerx.ist.psu.edu/v... (external link)
  • http://homepages.mcs.vuw.ac.nz... (external link)
  • Suggested articles


    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.