Skip to main content

A Contextual Equivalence Checker for IMJ*

  • Conference paper
  • First Online:
Automated Technology for Verification and Analysis (ATVA 2015)

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

  • 996 Accesses

Abstract

We present coneqct: a contextual equivalence checking tool for terms of IMJ*, a fragment of Interface Middleweight Java for which the problem is decidable. Given two, possibly open (containing free identifiers), terms of the language, the contextual equivalence problem asks if the terms can be distinguished by any possible IMJ context. Although there has been a lot of prior work describing methods for constructing proofs of equivalence by hand, ours is the first tool to decide equivalences for a non-trivial, object-oriented language, completely automatically. This is achieved by reducing the equivalence problem to the emptiness problem for fresh-register pushdown automata. An evaluation demonstrates that our tool works well on examples taken from the literature.

A dedicated webpage for the tool is: http://bitbucket.org/sjr/coneqct.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Ahmed, A., Dreyer, D., Rossberg, A.: State-dependent representation independence. In: Proceedings of POPL, pp. 340–353. ACM (2009)

    Google Scholar 

  2. Alur, R., Madhusudan, P.: Visibly pushdown languages. In: Proceedings of STOC 2004, pp. 202–211 (2004)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  4. Bierman, G., Parkinson, M., Pitts, A.: MJ: an imperative core calculus for Java and Java with effects. Technical report 563, Computer Laboratory, University of Cambridge (2002)

    Google Scholar 

  5. Dreyer, D., Neis, G., Birkedal, L.: The impact of higher-order state and control effects on local relational reasoning. In: Proceedings of ICFP, pp. 143–156. ACM (2010)

    Google Scholar 

  6. Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of POPL, pp. 141–152. ACM (2006)

    Google Scholar 

  7. Murawski, A.S., Ramsay, S.J., Tzevelekos, N.: Reachability in pushdown register automata. In: Csuhaj-Varjú, E., Dietzfelbinger, M., Ésik, Z. (eds.) MFCS 2014, Part I. LNCS, vol. 8634, pp. 464–473. Springer, Heidelberg (2014)

    Google Scholar 

  8. Murawski, A.S., Ramsay, S.J., Tzevelekos, N.: Game semantic analysis of equivalence in IMJ. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, pp. xx–yy. Springer, Heidelberg (2015). http://bitbucket.org/sjr/coneqct/src

  9. Murawski, A.S., Tzevelekos, N.: Algorithmic games for full ground references. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part II. LNCS, vol. 7392, pp. 312–324. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  10. Murawski, A.S., Tzevelekos, N.: Game semantics for Interface Middleweight Java. In: POPL, pp. 517–528 (2014)

    Google Scholar 

  11. Neven, F., Schwentick, T., Vianu, V.: Finite state machines for strings over infinite alphabets. ACM Trans. Comput. Log. 5(3), 403–435 (2004)

    Article  MathSciNet  Google Scholar 

  12. Pitts, A.M., Stark, I.D.B.: Operational reasoning for functions with local state. In: Gordon, A.D., Pitts, A.M. (eds.) Higher-Order Operational Techniques in Semantics, pp. 227–273. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  13. Welsch, Y., Poetzsch-Heffter, A.: A fully abstract trace-based semantics for reasoning about backward compatibility of class libraries. Sci. Comput. Program. 92, 129–161 (2014)

    Article  Google Scholar 

Download references

Acknowledgements

Research supported by the Engineering and Physical Sciences Research Council (EP/J019577/1) and the Royal Academy of Engineering (RF: Tzevelekos).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steven J. Ramsay .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Murawski, A.S., Ramsay, S.J., Tzevelekos, N. (2015). A Contextual Equivalence Checker for IMJ* . In: Finkbeiner, B., Pu, G., Zhang, L. (eds) Automated Technology for Verification and Analysis. ATVA 2015. Lecture Notes in Computer Science(), vol 9364. Springer, Cham. https://doi.org/10.1007/978-3-319-24953-7_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24953-7_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24952-0

  • Online ISBN: 978-3-319-24953-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics