Aliasing, Confinement, and Ownership in Object-Oriented Programming

Report on the Workshop IWACO’08 at ECOOP 2008
  • Dave Clarke
  • Sophia Drossopoulou
  • Peter Müller
  • James Noble
  • Tobias Wrigstad
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5475)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beckman, N., Bierhoff, K., Aldrich, J.: Verifying correct usage of atomic blocks and typestate. In: Kiczales, G. (ed.) Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices. ACM Press, New York (2008) (to appear)Google Scholar
  2. 2.
    Berdine, J., Calcagno, C., O’Hearn, P.W.: Smallfoot: Modular automatic assertion checking with separation logic. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 115–137. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices. ACM Press, New York (2007)Google Scholar
  4. 4.
    Bierhoff, K., Aldrich, J.: PLURAL: Checking protocol compliance under aliasing. In: Demonstration in ICSE Companion, pp. 971–972 (2008)Google Scholar
  5. 5.
    Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 55–72. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Boyland, J.: Why we should not add readonly to java (yet). Journal of Object Technology 5(5), 5–29 (2006)CrossRefGoogle Scholar
  7. 7.
    Boyland, J., Noble, J., Retert, W.: Capabilities for Sharing: A Generalization of Uniqueness and Read-Only. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 2. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Brookes, S.: A semantics for concurrent separation logic. Theor. Comput. Sci. 375(1-3), 227–270 (2007)CrossRefMATHGoogle Scholar
  9. 9.
    Clarke, D.: Object Ownership and Containment. PhD thesis, University of New South Wales (2001)Google Scholar
  10. 10.
    Clarke, D., Drossopoulou, S., Noble, J.: Aliasing, confinement, and ownership in object-oriented programming. In: Buschmann, F., Buchmann, A., Cilia, M.A. (eds.) ECOOP 2003. LNCS, vol. 3013, pp. 197–207. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Clarke, D., Drossopoulou, S., Noble, J., Wrigstad, T.: Aliasing, confinement, and ownership in object-oriented programming. In: Cebulla, M. (ed.) ECOOP-WS 2007. LNCS, vol. 4906, pp. 40–49. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 176–200. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Clarke, D.G., Potter, J.M., Noble, J.: Ownership types for flexible alias protection. In: Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices, vol. 33(10), pp. 48–64. ACM Press, New York (1998)Google Scholar
  14. 14.
    Dietl, W., Drossopoulou, S., Müller, P.: Generic Universe Types. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 28–53. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Dietl, W., Müller, P.: Universes: Lightweight ownership for JML. Journal of Object Technology (JOT) 4(8), 5–32 (2005)CrossRefGoogle Scholar
  16. 16.
    Distefano, D., O’Hearn, P.W., Yang, H.: A local shape analysis based on separation logic. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 238–252. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Distefano, D., Parkinson, M.J.: jStar: Towards practical verification for Java. In: Kiczales, G. (ed.) Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices. ACM Press, New York (2008) (to appear)Google Scholar
  18. 18.
    Haack, C., Hurlin, C.: Separation logic contracts for a java-like language with fork/Join. In: Meseguer, J., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 199–215. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Hogg, J., Lea, D., Wills, A., de Champeaux, D., Holt, R.: The Geneva Convention on the treatment of object aliasing. OOPS Messenger 3(2), 11–16 (1992)CrossRefGoogle Scholar
  20. 20.
    Leavens, G.T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Müller, P., Kiniry, J., Chalin, P., Zimmerman, D.M.: JML reference manual. Department of Computer Science, Iowa State University (2008), www.jmlspecs.org
  21. 21.
    Leino, K.R.M.: Data groups: Specifying the modification of extended state. In: Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices, vol. 33(10), pp. 144–153 (1998)Google Scholar
  22. 22.
    Leino, K.R.M., Müller, P.: Object invariants in dynamic contexts. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 491–516. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Liu, Y., Milanova, A.: Ownership and immutability inference for uml-based object access control. In: International Conference on Software Engineering (ICSE), pp. 323–332. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar
  24. 24.
    Müller, P., Rudich, A.: Ownership transfer in Universe Types. In: Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA), pp. 461–478. ACM Press, New York (2007)Google Scholar
  25. 25.
    Noble, J., Vitek, J., Potter, J.: Flexible alias protection. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 158–185. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  26. 26.
    Östlund, J., Wrigstad, T., Clarke, D., Åkerblom, B.: Ownership, uniqueness, and immutability. In: Paige, R., Meyer, B. (eds.) TOOLS Europe. LNBIP, vol. 11, pp. 178–197. Springer, Heidelberg (2008)Google Scholar
  27. 27.
    Parkinson, M.J.: Class invariants: the end of the road. In: IWACO (2007)Google Scholar
  28. 28.
    Parkinson, M.J., Bierman, G.: Separation logic, abstraction, and inheritance. In: Principles of Programming Languages (POPL), pp. 75–86. ACM Press, New York (2005)Google Scholar
  29. 29.
    Potanin, A., Noble, J., Clarke, D., Biddle, R.: Generic ownership for generic java. In: Cook, W. (ed.) Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA). ACM SIGPLAN Notices, vol. 41(10), pp. 311–324. ACM Press, New York (2006)Google Scholar
  30. 30.
    DeLine, R., Fähndrich, M.: Typestates for objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  31. 31.
    Zibin, Y., Potanin, A., Ali, M., Artzi, S., Kieżun, A., Ernst, M.D.: Object and reference immutability using java generics. In: European software engineering conference and foundations of software engineering (ESEC-FSE), pp. 75–84. ACM Press, New York (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Dave Clarke
    • 1
  • Sophia Drossopoulou
    • 2
  • Peter Müller
    • 3
  • James Noble
    • 4
  • Tobias Wrigstad
    • 5
  1. 1.Katholieke Universiteit LeuvenBelgium
  2. 2.Imperial CollegeLondonUK
  3. 3.ETH ZurichSwitzerland
  4. 4.Victoria University of WellingtonNew Zealand
  5. 5.Purdue UniversityUSA

Personalised recommendations