Skip to main content

Aliasing, Confinement, and Ownership in Object-Oriented Programming

Report on the Workshop IWACO’08 at ECOOP 2008

  • Conference paper
Object-Oriented Technology. ECOOP 2008 Workshop Reader (ECOOP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5475))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  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. 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)

    Chapter  Google Scholar 

  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. Bierhoff, K., Aldrich, J.: PLURAL: Checking protocol compliance under aliasing. In: Demonstration in ICSE Companion, pp. 971–972 (2008)

    Google Scholar 

  5. Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 55–72. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. Boyland, J.: Why we should not add readonly to java (yet). Journal of Object Technology 5(5), 5–29 (2006)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  8. Brookes, S.: A semantics for concurrent separation logic. Theor. Comput. Sci. 375(1-3), 227–270 (2007)

    Article  MATH  Google Scholar 

  9. Clarke, D.: Object Ownership and Containment. PhD thesis, University of New South Wales (2001)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  15. Dietl, W., Müller, P.: Universes: Lightweight ownership for JML. Journal of Object Technology (JOT) 4(8), 5–32 (2005)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Noble, J., Vitek, J., Potter, J.: Flexible alias protection. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 158–185. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  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. Parkinson, M.J.: Class invariants: the end of the road. In: IWACO (2007)

    Google Scholar 

  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. 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. DeLine, R., Fähndrich, M.: Typestates for objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Clarke, D., Drossopoulou, S., Müller, P., Noble, J., Wrigstad, T. (2009). Aliasing, Confinement, and Ownership in Object-Oriented Programming. In: Eugster, P. (eds) Object-Oriented Technology. ECOOP 2008 Workshop Reader. ECOOP 2008. Lecture Notes in Computer Science, vol 5475. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02047-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02047-6_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02046-9

  • Online ISBN: 978-3-642-02047-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics