Bisimulations for Untyped Imperative Objects

  • Vasileios Koutavas
  • Mitchell Wand
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3924)


We present a sound and complete method for reasoning about contextual equivalence in the untyped, imperative object calculus of Abadi and Cardelli [1]. Our method is based on bisimulations, following the work of Sumii and Pierce [25, 26] and our own [14]. Using our method we were able to prove equivalence in more complex examples than the ones of Gordon, Hankin and Lassen [7] and Gordon and Rees [8]. We can also write bisimulations in closed form in cases where similar bisimulation methods [26] require an inductive specification. To derive our bisimulations we follow the same technique as we did in [14], thus indicating the extensibility of this method.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer-Verlag, Berlin (1996)CrossRefzbMATHGoogle Scholar
  2. 2.
    Abramsky, S.: The lazy lambda calculus. In: Turner, D.A. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley, Reading (1990)Google Scholar
  3. 3.
    Benton, N., Leperchey, B.: Relational reasoning in a nominal semantics for storage. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 86–101. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Bierman, G., Parkinson, M., Pitts, A.: MJ: An imperative core calculus for Java and Java with effects. Technical Report 563, Cambridge University Computer Laboratory (April 2003)Google Scholar
  5. 5.
    Deng, Y., Sangiorgi, D.: Towards an algebraic theory of typed mobile processes. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 445–456. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Flatt, M., Krishnamurthi, S., Felleisen, M.: A programmer’s reduction semantics for classes and mixins. In: Formal Syntax and Semantics of Java, London, UK, pp. 241–269. Springer-Verlag, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Gordon, A.D., Hankin, P.D., Lassen, S.B.: Compilation and equivalence of imperative objects. In: Proceedings of the 17th Conference on Foundations of Software Technology and Theoretical Computer Science, London, UK, pp. 74–87. Springer-Verlag, Heidelberg (1997)CrossRefGoogle Scholar
  8. 8.
    Gordon, A.D., Rees, G.D.: Bisimilarity for a first-order calculus of objects with subtyping. In: Proceedings 23rd Annual ACM Symposium on Principles of Programming Languages, pp. 386–395. ACM Press, New York (1996)Google Scholar
  9. 9.
    Hennessy, M., Milner, R.: On observing nondeterminism and concurrency. In: ICALP, pp. 299–309 (1980)Google Scholar
  10. 10.
    Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. Journal of the ACM 32, 137–161 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Howe, D.J.: Equality in lazy computation systems. In: Proc. 4th IEEE Symposium on Logic in Computer Science, pp. 198–203 (1989)Google Scholar
  12. 12.
    Jones, C.B.: A pi-calculus semantics for an object-based design notation. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 158–172. Springer, Heidelberg (1993)Google Scholar
  13. 13.
    Kleist, J., Sangiorgi, D.: Imperative objects as mobile processes. Sci. Comput. Program. 44(3), 293–342 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Koutavas, V., Wand, M.: Smaller bisimulations for reasoning about higher-order imperative programs. In: Proceedings 33rd Annual ACM Symposium on Principles of Programming Languages. ACM Press, New York (2006)Google Scholar
  15. 15.
    Liu, X., Walker, D.: Partial confluence of processes and systems of objects. Theor. Comput. Sci. 206(1-2), 127–162 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Mason, I.A., Talcott, C.L.: Equivalence in functional languages with effects. Journal of Functional Programming 1, 287–327 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Meyer, A.R., Sieber, K.: Towards fully abstract semantics for local variables: Preliminary report. In: Proceedings 15th Annual ACM Symposium on Principles of Programming Languages, pp. 191–203 (1988)Google Scholar
  18. 18.
    Milne, R., Strachey, C.: A Theory of Programming Language Semantics. Chapman and Hall, London (1976)zbMATHGoogle Scholar
  19. 19.
    Morris Jr., J.H.: Lambda Calculus Models of Programming Languages. PhD thesis. MIT, Cambridge, MA (1968)Google Scholar
  20. 20.
    Pitts, A., Stark, I.: Operational reasoning for functions with local state. In: Gordon, A., Pitts, A. (eds.) Higher Order Operational Techniques in Semantics, pp. 227–273. Publications of the Newton Institute. Cambridge University Press, Cambridge (1998)Google Scholar
  21. 21.
    Sangiorgi, D.: Locality and non-interleaving semantics in calculi for mobile processes. Theoretical Computer Science 155, 39–83 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Sangiorgi, D.: On the bisimulation proof method. Mathematical. Structures in Comp. Sci. 8(5), 447–479 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Sangiorgi, D., Milner, R.: The problem of “Weak Bisimulation up to”. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 32–46. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  24. 24.
    Sangiorgi, D.: An interpretation of typed objects into typed π-calculus. Inf. Comput. 143(1), 34–73 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Sumii, E., Pierce, B.C.: A bisimulation for dynamic sealing. In: Proceedings 31st Annual ACM Symposium on Principles of Programming Languages, pp. 161–172. ACM Press, New York (2004)Google Scholar
  26. 26.
    Sumii, E., Pierce, B.C.: A bisimulation for type abstraction and recursion. In: Proceedings 32nd Annual ACM Symposium on Principles of Programming Languages, pp. 63–74. ACM Press, New York (2005)Google Scholar
  27. 27.
    Walker, D.: Objects in the π -calculus. Inf. Comput. 116(2), 253–271 (1995)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Vasileios Koutavas
    • 1
  • Mitchell Wand
    • 1
  1. 1.Northeastern UniversityUSA

Personalised recommendations