Skip to main content

Advertisement

SpringerLink
Book cover

International Conference on Tools and Algorithms for the Construction and Analysis of Systems

TACAS 2022: Tools and Algorithms for the Construction and Analysis of Systems pp 178–195Cite as

  1. Home
  2. Tools and Algorithms for the Construction and Analysis of Systems
  3. Conference paper
From Bounded Checking to Verification of Equivalence via Symbolic Up-to Techniques

From Bounded Checking to Verification of Equivalence via Symbolic Up-to Techniques

  • Vasileios Koutavas  ORCID: orcid.org/0000-0002-3970-248610,
  • Yu-Yang Lin  ORCID: orcid.org/0000-0001-5783-945410 &
  • Nikos Tzevelekos  ORCID: orcid.org/0000-0001-8509-805911 
  • Conference paper
  • Open Access
  • First Online: 30 March 2022
  • 2040 Accesses

Part of the Lecture Notes in Computer Science book series (LNCS,volume 13244)

Abstract

We present a bounded equivalence verification technique for higher-order programs with local state. This technique combines fully abstract symbolic environmental bisimulations similar to symbolic game semantics, novel up-to techniques, and lightweight state invariant annotations. This yields an equivalence verification technique with no false positives or negatives. The technique is bounded-complete, in that all inequivalences are automatically detected given large enough bounds. Moreover, several hard equivalences are proved automatically or after being annotated with state invariants. We realise the technique in a tool prototype called Hobbit and benchmark it with an extensive set of new and existing examples. Hobbit can prove many classical equivalences including all Meyer and Sieber examples.

Keywords

  • Contextual equivalence
  • bounded model checking
  • symbolic bisimulation
  • up-to techniques
  • operational game semantics.

This publication has emanated from research supported in part by a grant from Science Foundation Ireland under Grant number 13/RC/2094_2.

Download conference paper PDF

References

  1. Ahmed, A., Dreyer, D., Rossberg, A.: State-dependent representation independence. In: POPL. Association for Computing Machinery (2009)

    Google Scholar 

  2. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: TACAS. Springer, Berlin Heidelberg (1999)

    Google Scholar 

  3. Biernacki, D., Lenglet, S., Polesiuk, P.: A complete normal-form bisimilarity for state. In: FOSSACS 2019, ETAPS 2019, Prague, Czech Republic. Springer (2019)

    Google Scholar 

  4. Blanchet, B.: A computationally sound mechanized prover for security protocols. In: IEEE Symposium on Security and Privacy (2006)

    Google Scholar 

  5. Bohr, N., Birkedal, L.: Relational reasoning for recursive types and references. In: Kobayashi, N. (ed.) APLAS. LNCS, vol. 4279, pp. 79–96. Springer (2006)

    Google Scholar 

  6. Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: TACAS. Springer, Berlin Heidelberg (2004)

    Google Scholar 

  7. Cordeiro, L., Kroening, D., Schrammel, P.: JBMC: Bounded model checking for Java Bytecode. In: TACAS. Springer (2019)

    Google Scholar 

  8. Dimovski, A.: Program verification using symbolic game semantics. TCS 560 (2014)

    Google Scholar 

  9. Felsing, D., Grebing, S., Klebanov, V., Rümmer, P., Ulbrich, M.: Automating regression verification. In: ACM/IEEE ASE ’14. ACM (2014)

    Google Scholar 

  10. Godlin, B., Strichman, O.: Inference rules for proving the equivalence of recursive procedures. Acta Informatica 45(6) (2008)

    Google Scholar 

  11. Godlin, B., Strichman, O.: Regression verification. In: DAC. ACM (2009)

    Google Scholar 

  12. Hopkins, D., Murawski, A.S., Ong, C.L.: Hector: An equivalence checker for a higher-order fragment of ML. In: CAV. LNCS, Springer (2012)

    Google Scholar 

  13. Hur, C.K., Dreyer, D., Neis, G., Vafeiadis, V.: The marriage of bisimulations and Kripke logical relations. SIGPLAN Not. (2012)

    Google Scholar 

  14. Jaber, G.: SyTeCi: Automating contextual equivalence for higher-order programs with references. Proc. ACM Program. Lang. 4(POPL) (2020)

    Google Scholar 

  15. Jaber, G., Tabareau, N.: Kripke open bisimulation - A marriage of game semantics and operational techniques. In: APLAS. Springer (2015)

    Google Scholar 

  16. Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: POPL. ACM (2006)

    Google Scholar 

  17. Lahiri, S.K., Hawblitzel, C., Kawaguchi, M., Rebêlo, H.: SYMDIFF: A language-agnostic semantic diff tool for imperative programs. In: CAV. Springer (2012)

    Google Scholar 

  18. Laird, J.: A fully abstract trace semantics for general references. In: ICALP, Wroclaw, Poland. LNCS, Springer (2007)

    Google Scholar 

  19. Lassen, S.B., Levy, P.B.: Typed normal form bisimulation. In: Computer Science Logic. Springer, Berlin Heidelberg (2007)

    Google Scholar 

  20. Lin, Y., Tzevelekos, N.: Symbolic execution game semantics. In: FSCD. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2020)

    Google Scholar 

  21. Meyer, A.R., Sieber, K.: Towards fully abstract semantics for local variables. In: POPL. Association for Computing Machinery (1988)

    Google Scholar 

  22. Morris, Jr., J.H.: Lambda Calculus Models of Programming Languages. Ph.D. thesis, MIT, Cambridge, MA (1968)

    Google Scholar 

  23. de Moura, L., Bjørner, N.: Z3: An efficient smt solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems. pp. 337–340. Springer Berlin Heidelberg, Berlin, Heidelberg (2008)

    Google Scholar 

  24. Murawski, A.S., Ramsay, S.J., Tzevelekos, N.: A contextual equivalence checker for IMJ*. In: ATVA. Springer (2015)

    Google Scholar 

  25. Murawski, A.S., Tzevelekos, N.: Nominal game semantics. FTPL 2(4) (2016)

    Google Scholar 

  26. Patterson, D., Ahmed, A.: The next 700 compiler correctness theorems (functional pearl). Proc. ACM Program. Lang. 3(ICFP) (2019)

    Google Scholar 

  27. Pous, D.: Coinduction all the way up. In: ACM/IEEE LICS. ACM (2016)

    Google Scholar 

  28. Pous, D., Sangiorgi, D.: Enhancements of the bisimulation proof method. In: Advanced Topics in Bisimulation and Coinduction. CUP (2012)

    Google Scholar 

  29. Sangiorgi, D., Kobayashi, N., Sumii, E.: Environmental bisimulations for higher-order languages. In: LICS. IEEE Computer Society (2007)

    Google Scholar 

  30. Schrammel, P., Kroening, D., Brain, M., Martins, R., Teige, T., Bienmüller, T.: Successful use of incremental BMC in the automotive industry. In: FMICS (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Trinity College Dublin, Dublin, Ireland

    Vasileios Koutavas & Yu-Yang Lin

  2. Queen Mary University of London, London, UK

    Nikos Tzevelekos

Authors
  1. Vasileios Koutavas
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Yu-Yang Lin
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Nikos Tzevelekos
    View author publications

    You can also search for this author in PubMed Google Scholar

Corresponding author

Correspondence to Yu-Yang Lin .

Editor information

Editors and Affiliations

  1. Ben-Gurion University of the Negev, Be’er Sheva, Israel

    Dr. Dana Fisman

  2. University of Illinois Urbana-Champaign, Urbana, IL, USA

    Grigore Rosu

Rights and permissions

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Reprints and Permissions

Copyright information

© 2022 The Author(s)

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Koutavas, V., Lin, YY., Tzevelekos, N. (2022). From Bounded Checking to Verification of Equivalence via Symbolic Up-to Techniques. In: Fisman, D., Rosu, G. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2022. Lecture Notes in Computer Science, vol 13244. Springer, Cham. https://doi.org/10.1007/978-3-030-99527-0_10

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-030-99527-0_10

  • Published: 30 March 2022

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-99526-3

  • Online ISBN: 978-3-030-99527-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • The European Joint Conferences on Theory and Practice of Software.

    Published in cooperation with

    http://www.etaps.org/

Over 10 million scientific documents at your fingertips

Switch Edition
  • Academic Edition
  • Corporate Edition
  • Home
  • Impressum
  • Legal information
  • Privacy statement
  • California Privacy Statement
  • How we use cookies
  • Manage cookies/Do not sell my data
  • Accessibility
  • FAQ
  • Contact us
  • Affiliate program

Not affiliated

Springer Nature

© 2023 Springer Nature Switzerland AG. Part of Springer Nature.