Aliasing in Object Oriented Systems

  • James Noble
  • Jan Vitek
  • Doug Lea
  • Paulo Sergio Almeida
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1743)


This chapter contains summaries of the presentations given at the Intercontinental Workshop on Aliasing in Object-Oriented Systems (IWAOOS’99) at the European Conference on Object-Oriented Programming (ECOOP’99) which was held in Lisbon, Portugal on June 15, 1999.


Garbage Collection Geneva Convention Ownership Type Program Point Access Path 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Martín Abadi and Luca Cardelli. A Theory of Objects. Springer-Verlag, New York, 1996.zbMATHGoogle Scholar
  2. [2]
    Paulo Sergio Almeida. Balloon types: Controlling sharing of state in data types. In Mehmet Akşit and Satoshi Matsuoka, editors, ECOOP’97 Object-Oriented Programming, 11th European Conference, volume 1241 of Lecture Notes in Computer Science, pages 32–59, Berlin, Heidelberg, New York, 1997. Springer.Google Scholar
  3. [3]
    Henry G. Baker. ‘Use-once’ variables and linear objects-storage management, reflection and multi-threading. ACM SIGPLAN Notices, 30(1):45–52, January 1995.CrossRefGoogle Scholar
  4. [4]
    B. Bokowski and J. Vitek. Confined types. In OOPSLA’ 99 Conference Proceedings. ACM, 1999.Google Scholar
  5. [5]
    Boris Bokowski. Coffeestrainer: Statically-checked constraints on the definition and-use of types in java. In Proceedings of ESEC/FSE’99, Toulouse, France, September 1999.Google Scholar
  6. [6]
    Boris Bokowski and Markus Dahm. Poor man’s genericity for Java. Presentation at ECOOP’98,, 1998
  7. [7]
    G. Braha, Martin Odersky, D. Stoutamire, and P. Wadler. Making the future safe for the past: Adding genericity to the Java programming language. Proceedings of OOPSLA’98, ACM SIGPLAN Notices, 33, 1998.Google Scholar
  8. [8]
    Fred Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo, and Peng Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM Conference on Programming Language Design and Implementation, pages 273–286, 1997.Google Scholar
  9. [9]
    D.G. Clarke, R. Shelswell, J.M. Potter, and J. Noble. Object ownership to order. manuscript, 1998.Google Scholar
  10. [10]
    David G. Clarke, John M. Potter, and James Noble. Ownership types for flexible alias protection. In OOPSLA’ 98 Conference Proceedings, volume 33(10) of ACM SIGPLAN Notices, pages 48–64. ACM, October 1998.Google Scholar
  11. [11]
    Suzanne Collin, Dominique Colnet, and Olivier Zendra. Type Inference for Late Binding. The SmallEiffel Compiler. In Joint Modular Languages Conference, volume 1204 of Lecture Notes in Computer Sciences, pages 67–81. Springer-Verlag, 1997.Google Scholar
  12. [12]
    Dominique Colnet, Philippe Coucaud, and Olivier Zendra. Compiler Support to Customize the Mark and Sweep Algorithm. In ACM SIGPLAN International Symposium on Memory Management (ISMM’98), pages 154–165, October 1998.Google Scholar
  13. [13]
    Mark Davis. Immutables. Java-Report, 4(4):70–77, April 1999.Google Scholar
  14. [14]
    Amer Diwan, Kathryn S. McKinley, and J. Eliot B. Moss. Type-based alias analysis. In Proceedings of the ACM Conference on Programming Language Design and Implementation, pages 106–117, 1998.Google Scholar
  15. [15]
    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.Google Scholar
  16. [16]
    J. Goguen, J. Thatcher, and E. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract datatypes. In R. Yeh, editor, Current Trends in Programming Methodology (Vol. IV: Data Structuring). Prentice-Hall, 1978.Google Scholar
  17. [17]
    James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, 1996.Google Scholar
  18. [18]
    Roger Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Department of Computer Science, Lund University, Sweden, 1998.Google Scholar
  19. [19]
    C.A.R. Hoare. Proof of correctness of data representations. Acta Informatica, (1), 1972.Google Scholar
  20. [20]
    J. Hogg, D. Lea, A. Wills, D. de Champeaux, and Richard Holt. Report on ECOOP’91 workshop W3: The Geneva convention on the treatment of object aliasing. OOPS Messenger, 3(2):11–16, 1992.CrossRefGoogle Scholar
  21. [21]
    John Hogg. Islands: Aliasing Protection in Object-Oriented Languages. In Proceedings of the OOPSLA’ 91 Conference on Object-oriented Programming Systems, Languages and Applications, pages 271–285, November 1991. Published as ACM SIGPLAN Notices, volume 26, number 11.CrossRefGoogle Scholar
  22. [22]
    William Landi. Undecidability of static analysis. ACM Letters on Programming Languages and Systems, 1(4), December 1992.Google Scholar
  23. [23]
    Doug Lea. Concurrent Programming in Java-Design Principles and Patterns. Addison Wesley, 1996.Google Scholar
  24. [24]
    K.R.M. Leino. Toward Reliable Modular Programs. PhD thesis, California Institute of Technology, 1995.Google Scholar
  25. [25]
    Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1997.Google Scholar
  26. [26]
    Barbara Liskov and John V. Guttag. Abstraction and Specification in Program Development. MIT Press/McGraw-Hill, 1986.Google Scholar
  27. [27]
    B. Meyer. Eiffel: The Language. Object-Oriented Series. Prentice Hall, New York, N.Y., 1992.Google Scholar
  28. [28]
    Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall, 1988.Google Scholar
  29. [29]
    Naftaly Minsky. Towards alias-free pointers. In Pierre Cointe, editor, ECOOP’96-Object-Oriented Programming, 10th European Conference, volume 1098 of Lecture Notes in Computer Science, pages 189–209, Berlin, Heidelberg, New York, July 1996. Springer.Google Scholar
  30. [30]
    E. Morel and C. Renvoise. Global optimization by suppression of partial redundancies. Communications of the ACM, 22(2):96–103, February 1979.zbMATHCrossRefMathSciNetGoogle Scholar
  31. [31]
    P. Müller and A. Poetzsch-Heffter. Modular specification and verification techniques for object-oriented software components. In G. Leavens and M. Sitaraman, editors, Foundations of Component-Based Systems. Cambridge University Press, 1999. (to appear).Google Scholar
  32. [32]
    Kelvin Nilsen. Reliable Real-Time Garbage Collection of C++. Computing Systems, 7(4):467–504, 1994.MathSciNetGoogle Scholar
  33. [33]
    James Noble, Jan Vitek, and John Potter. Flexible alias protection. In Proceedings of ECOOP’98, number 1445 in LNCS, pages 158–185. Springer Verlag, 1998.Google Scholar
  34. [34]
    Nathaniel John Nystrom. Bytecode level analysis and optimization of Java classes. Master’s thesis, Purdue University, August 1998.Google Scholar
  35. [35]
    Robert O’Callahan. The design of program analysis services. Technical Report CMU-CS-99-135, Carnegie Mellon University, Pittsburgh, PA 15213, June 1999.Google Scholar
  36. [36]
    Patrik Persson. Live Memory Analysis for Garbage Collection in Embedded Systems. In Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES’99), SIGPLAN Notices 34(7), pages 45–54. ACM Press, 1999.CrossRefGoogle Scholar
  37. [37]
    G. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5(3), 1977.Google Scholar
  38. [38]
    John Potter, James Noble, and David Clarke. The ins and outs of objects. In Australian Software Engineering Conference (ASWEC), 1998.Google Scholar
  39. [39]
    William Pugh. Fixing the Java memory model. In ACM Java Grande Conference, 1999.Google Scholar
  40. [40]
    Mooly Sagiv, Thomas Reps, and Reinhard Wilhelm. Solving shape-analysis problems in languages with destructive updating. ACM Transactions on Programming Languages and Systems, 20(1):1–50, January 1998.CrossRefGoogle Scholar
  41. [41]
    Loren Taylor Simpson. Value-Driven Redundancy Elimination. PhD thesis, Rice University, Houston, Texas, April 1996.Google Scholar
  42. [42]
    Bjarne Steensgaard. Points-to analysis in almost linear time. In Conference Record of the Twenty-third Annual ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, pages 32–41, New York, 1996. ACM Press.Google Scholar
  43. [43]
    Dirk Theisen. Enhancing Encapsulation in OOP-A Practical Approach. Masters thesis, CS Dept. III, University of Bonn, Germany, 1999.Google Scholar
  44. [44]
    Philip Wadler. Linear types can change the world! In M. Broy and C.B. Jones, editors, Programming Concepts and Methods. Elsevier, North-Holland, 1990.Google Scholar
  45. [45]
    Phillip Yelland. Models of Modularity: A Study of Object-Oriented Programming. PhD thesis, Cambridge University, Cambridge, U.K., 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • James Noble
    • 1
  • Jan Vitek
    • 2
  • Doug Lea
    • 3
  • Paulo Sergio Almeida
    • 4
  1. 1.Microsoft Research InstituteAustralia
  2. 2.Université de GenéveGenéve
  3. 3.State University of New York at OswegoNew York
  4. 4.Universidade do MinhoMinho

Personalised recommendations