Thanks to visit codestin.com
Credit goes to link.springer.com

Skip to main content

Advertisement

Springer Nature Link
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
  1. Home
  2. Computer Aided Verification
  3. Conference paper

A Fully Verified Executable LTL Model Checker

  • Conference paper
  • pp 463–478
  • Cite this conference paper
Computer Aided Verification (CAV 2013)
A Fully Verified Executable LTL Model Checker
  • Javier Esparza18,
  • Peter Lammich18,
  • René Neumann18,
  • Tobias Nipkow18,
  • Alexander Schimpf19 &
  • …
  • Jan-Georg Smaus20 

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8044))

Included in the following conference series:

  • International Conference on Computer Aided Verification
  • 4955 Accesses

  • 70 Citations

Abstract

We present an LTL model checker whose code has been completely verified using the Isabelle theorem prover. The checker consists of over 4000 lines of ML code. The code is produced using recent Isabelle technology called the Refinement Framework, which allows us to split its correctness proof into (1) the proof of an abstract version of the checker, consisting of a few hundred lines of “formalized pseudocode”, and (2) a verified refinement step in which mathematical sets and other abstract structures are replaced by implementations of efficient structures like red-black trees and functional arrays. This leads to a checker that, while still slower than unverified checkers, can already be used as a trusted reference implementation against which advanced implementations can be tested. We report on the structure of the checker, the development process, and some experiments on standard benchmarks.

Research supported by DFG grant CAVA, Computer Aided Verification of Automata.

Download to read the full chapter text

Chapter PDF

Similar content being viewed by others

Verified Model Checking of Timed Automata

Chapter © 2018

Verifying a Verifier: On the Formal Correctness of an LTS Transformation Verification Technique

Chapter © 2016

Formal Verification of an Executable LTL Model Checker with Partial Order Reduction

Article 20 June 2017

Explore related subjects

Discover the latest articles, books and news in related subjects, suggested using machine learning.
  • Formal Languages and Automata Theory
  • Formal Logic
  • Linear Logic
  • Molecular Target Validation
  • Electronics Design and Verification
  • Computer Science Logic and Foundations of Programming

References

  1. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press (1996)

    Google Scholar 

  2. Back, R.J.: On the correctness of refinement steps in program development. Ph.D. thesis, Department of Computer Science, University of Helsinki (1978)

    Google Scholar 

  3. Back, R.J., von Wright, J.: Refinement Calculus — A Systematic Introduction. Springer (1998)

    Google Scholar 

  4. Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press (2008)

    Google Scholar 

  5. Choy, M., Singh, A.K.: Adaptive solutions to the mutual exclusion problem. Distributed Computing 8(1), 1–17 (1994)

    Article  Google Scholar 

  6. Courcoubetis, C., Vardi, M., Wolper, P., Yannakakis, M.: Memory-efficient algorithms for the verification of temporal properties. Formal Methods in System Design 1(2/3), 275–288 (1992)

    Article  Google Scholar 

  7. Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Dembinski, P., Sredniawa, M. (eds.) Proc. Int. Symp. Protocol Specification, Testing, and Verification. IFIP Conference Proceedings, vol. 38, pp. 3–18. Chapman & Hall (1996)

    Google Scholar 

  8. Haftmann, F., Nipkow, T.: Code generation via higher-order rewrite systems. In: Blume, M., Kobayashi, N., Vidal, G. (eds.) FLOPS 2010. LNCS, vol. 6009, pp. 103–117. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Holzmann, G., Peled, D., Yannakakis, M.: On nested depth first search. In: Grégoire, J.C., Holzmann, G.J., Peled, D.A. (eds.) Proc. of the 2nd SPIN Workshop. Discrete Mathematics and Theoretical Computer Science, vol. 32, pp. 23–32. American Mathematical Society (1997)

    Google Scholar 

  10. Holzmann, G.J.: The Spin Model Checker — Primer and Reference Manual. Addison-Wesley (2003)

    Google Scholar 

  11. Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: seL4: formal verification of an OS kernel. In: Matthews, J.N., Anderson, T.E. (eds.) Proc. ACM Symp. Operating Systems Principles, pp. 207–220. ACM (2009)

    Google Scholar 

  12. Klein, G., Nipkow, T.: A machine-checked model for a Java-like language, virtual machine and compiler. ACM Trans. Progr. Lang. Syst. 28(4), 619–695 (2006)

    Article  Google Scholar 

  13. Lammich, P., Lochbihler, A.: The Isabelle Collections Framework. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 339–354. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Lammich, P.: Collections framework. In: Archive of Formal Proofs (December 2009), formal proof development, http://afp.sf.net/entries/Collections.shtml

  15. Lammich, P.: Refinement for monadic programs. In: Archive of Formal Proofs (2012), formal proof development, http://afp.sf.net/entries/Refine_Monadic.shtml

  16. Lammich, P., Tuerk, T.: Applying data refinement for monadic programs to Hopcroft’s algorithm. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 166–182. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  17. Leroy, X.: A formally verified compiler back-end. J. Automated Reasoning 43, 363–446 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  18. Namjoshi, K.S.: Certifying model checkers. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 2–13. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  19. Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer (2002)

    Google Scholar 

  20. Peled, D., Pnueli, A., Zuck, L.D.: From falsification to verification. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 292–304. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Schimpf, A., Merz, S., Smaus, J.-G.: Construction of Büchi automata for LTL model checking verified in Isabelle/HOL. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 424–439. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  22. Schwoon, S., Esparza, J.: A note on on-the-fly verification algorithms. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 174–190. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  23. Sprenger, C.: A verified model checker for the modal μ-calculus in Coq. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 167–183. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  24. Wadler, P.: Comprehending monads. Mathematical Structures in Computer Science 2, 461–478 (1992)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Technische Universität München, Germany

    Javier Esparza, Peter Lammich, René Neumann & Tobias Nipkow

  2. Universität Freiburg, Germany

    Alexander Schimpf

  3. IRIT, Université de Toulouse, France

    Jan-Georg Smaus

Authors
  1. Javier Esparza
    View author publications

    Search author on:PubMed Google Scholar

  2. Peter Lammich
    View author publications

    Search author on:PubMed Google Scholar

  3. René Neumann
    View author publications

    Search author on:PubMed Google Scholar

  4. Tobias Nipkow
    View author publications

    Search author on:PubMed Google Scholar

  5. Alexander Schimpf
    View author publications

    Search author on:PubMed Google Scholar

  6. Jan-Georg Smaus
    View author publications

    Search author on:PubMed Google Scholar

Editor information

Editors and Affiliations

  1. University of Lugano, 6900, Lugano, Switzerland

    Natasha Sharygina

  2. University of Technology, 1040, Vienna, Austria

    Helmut Veith

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Esparza, J., Lammich, P., Neumann, R., Nipkow, T., Schimpf, A., Smaus, JG. (2013). A Fully Verified Executable LTL Model Checker. In: Sharygina, N., Veith, H. (eds) Computer Aided Verification. CAV 2013. Lecture Notes in Computer Science, vol 8044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39799-8_31

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-39799-8_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39798-1

  • Online ISBN: 978-3-642-39799-8

  • 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

Keywords

  • Model Checker
  • Correctness Proof
  • Reference Implementation
  • Functional Programming Language
  • Interactive Theorem Prover

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Publish with us

Policies and ethics

Search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Journal finder
  • Publish your research
  • Language editing
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our brands

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Discover
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Legal notice
  • Cancel contracts here

132.145.61.108

Not affiliated

Springer Nature

© 2025 Springer Nature