Aliasing, Confinement, and Ownership in Object-Oriented Programming

  • Authors:
  • Dave Clarke;Sophia Drossopoulou;Peter Müller;James Noble;Tobias Wrigstad

  • Affiliations:
  • Katholieke Universiteit Leuven, Belgium;Imperial College, London, UK;ETH Zurich, Switzerland;Victoria University of Wellington, New Zealand;Purdue University, USA

  • Venue:
  • Object-Oriented Technology. ECOOP 2008 Workshop Reader
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 analyze. 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 optimize 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, analyzing, and preventing the connections between objects and/or the flow of information between them. Promising approaches to these problems are based on ownership, confinement, information flow, sharing control, escape analysis, argument independence, read-only references, effects systems, and access control mechanisms.