Flexible alias protection
Author(s) -
James Noble,
Jan Vítek,
John Potter
Publication year - 1998
Publication title -
lecture notes in computer science
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.249
H-Index - 400
eISSN - 1611-3349
pISSN - 0302-9743
ISBN - 3-540-64737-6
DOI - 10.1007/bfb0054091
Subject(s) - alias , computer science , aliasing , programmer , programming language , object (grammar) , visibility , metaprogramming , object oriented programming , artificial intelligence , filter (signal processing) , database , computer vision , physics , optics
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias, object oriented programs are hard to understand, maintain, and analyse. Flexible alias protection is a conceptual model of inter-object relationships which limits the visibility of changes via aliases, allowing objects to be aliased but mitigating the undesirable effects of aliasing. Flexible alias protection can be checked statically using programmer supplied aliasing modes and imposes no run- time overhead. Using flexible alias protection, programs can incorporate mutable objects, immutable values, and updatable collections of shared objects, in a natural object oriented programming style, while avoiding the problems caused by aliasing. Object identity causes practical problems for object oriented programming. In general, these problems all reduce to the presence of aliasing — that a par- ticular object can be referred to by any number of other objects (20). Problems arise because objects' state can change, while their identity remains the same. A change to an object can therefore affect any number of other objects which refer to it, even though the changed object itself may have no information about the other objects. Aliasing has a large impact on the process of developing object oriented software systems. In the presence of aliases, understanding what a program does becomes more complex, as runtime information about topology of the system is required to understand the effects of state changes. Debugging and maintaining programs with aliasing is even more difficult, because a change to one part of a program can affect a seemingly independent part via aliased objects. In this paper, we present flexible alias protection, a novel conceptual model for enforcing alias encapsulation and managing the effects of aliasing. Flexible
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom