Skip to main content

Tool-Based Verification of a Relational Vertex Coloring Program

  • Conference paper
  • First Online:
Book cover Relational and Algebraic Methods in Computer Science (RAMICS 2015)

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

Abstract

We present different approaches of using a special purpose computer algebra system and theorem provers in software verification. To this end, we first develop a purely algebraic while-program for computing a vertex coloring of an undirected (loop-free) graph. For showing its correctness, we then combine the well-known assertion-based verification method with relation-algebraic calculations. Based on this, we show how automatically to test loop-invariants by means of the RelView tool and also compare the usage of three different theorem provers in respect to the verification of the proof obligations: the automated theorem prover Prover9 and the two proof assistants Coq and Isabelle/HOL. As a result, we illustrate that algebraic abstraction yields verification tasks that can easily be verified with off-the-shelf theorem provers, but also reveal some shortcomings and difficulties with theorem provers that are nowadays available.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armstrong, A., Foster, S., Struth, G., Weber, T.: Relation algebra. Archive of Formal Proofs (2014). http://afp.sf.net/entries/Relation_Algebra.shtml

  2. Berghammer, R.: Combining relational calculus and the Dijkstra-Gries method for deriving relational programs. Inform. Sci. 119, 155–171 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  3. Berghammer, R., Hoffmann, T.: Deriving relational programs for computing kernels by reconstructing a proof of Richardson’s theorem. Sci. Comput, Prog. 38, 1–25 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  4. Berghammer, R., Hoffmann, T.: Relational depth-first-search with applications. Inform. Sci. 139, 167–186 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  5. Berghammer, R., Neumann, F.: RelView – An OBDD-based Computer Algebra system for relations. In: Ganzha, V.G., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2005. LNCS, vol. 3718, pp. 40–51. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Berghammer, R.: Applying relation algebra and RelView to solve problems on orders and lattices. Acta Inform. 45, 211–236 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  7. Berghammer, R., Winter, M.: Embedding mappings and splittings with applications. Acta Inform. 47, 77–110 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  8. Berghammer, R., Struth, G.: On automated program construction and verification. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 22–41. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Berghammer, R., Höfner, P., Stucke, I.: Automated verification of relational while-programs. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMiCS 2014. LNCS, vol. 8428, pp. 309–326. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  10. Berghammer, R., Stucke, I., Winter, M.: Investigating and computing bipartitions with algebraic means. In: Kahl, W., Oliviera, J.N., Winter, M. (eds.) Relational and Algebraic Methods in Computer Science (to appear)

    Google Scholar 

  11. Bertot, Y., Casteran, P.: Interactive theorem proving and program development. Coq’Art: The calculus of inductive constructions. Texts in Theoretical Computer Science. Springer (2004)

    Google Scholar 

  12. Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending Sledgehammer with SMT solvers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 116–130. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  13. Chin, L.H., Tarski, A.: Distributive and modular laws in the arithmetic of relation algebras. Univ. of California Publ. Math. (new series) 1, 341–384 (1951)

    MathSciNet  MATH  Google Scholar 

  14. Dang, H.H., Höfner, P.: First-order theorem prover evaluation w.r.t. relation- and Kleene algebra. In: Berghammer, R., Möller, B., Struth, G. (eds.) Relations and Kleene Algebra in Computer Science – Ph.D. Programme at RelMiCS10/AKA05. Technical Report 2008-04, Institut für Informatik, Universität Augsburg, 48–52 (2008)

    Google Scholar 

  15. Foster, S., Struth, G., Weber, T.: Automated engineering of relational and algebraic methods in Isabelle/HOL (Invited tutorial). In: de Swart, H. (ed.) RAMICS 2011. LNCS, vol. 6663, pp. 52–67. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  16. Höfner, P., Struth, G.: Automated reasoning in Kleene algebra. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 279–294. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  17. Höfner, P., Struth, G.: On automating the calculus of relations. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 50–66. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Kahl, W.: Calculational relation-algebraic proofs in Isabelle/Isar. In: Berghammer, R., Möller, B., Struth, G. (eds.) RelMiCS 2003. LNCS, vol. 3051, pp. 179–190. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  19. Maddux, R.: Relation algebras. Studies in Logic and the Foundations of Mathematics, vol. 150. Elsevier (2006)

    Google Scholar 

  20. McCune, W.W.: Prover9 and Mace4, http://www.cs.unm.edu/~mccune/prover9

  21. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  22. Pous, D.: Kleene algebra with tests and Coq tools for while programs. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 180–196. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  23. Pous, D.: Relation algebra and KAT in Coq, http://perso.ens-lyon.fr/damien.pous/ra/

  24. Schmidt, G., Ströhlein, T.: Relations and graphs, Discrete mathematics for computer scientists. EATCS Monographs on Theoretical Computer Science. Springer (1993)

    Google Scholar 

  25. Schmidt, G.: Relational mathematics. Encyclopedia of Mathematics and its Applications. Cambridge University Press (2010)

    Google Scholar 

  26. Tarski, A.: On the calculus of relations. J. Symb. Logic 6(3), 73–89 (1941)

    Article  MathSciNet  MATH  Google Scholar 

  27. Tarski, A., Givant, S.: A formalization of set theory without variables. AMS Colloquium Publications, American Mathematical Society (1987)

    Google Scholar 

  28. Wenzel, M.: Isabelle/Isar – a versatile environment for human-readable formal proof documents. Dissertation, Technische Universität München (2002)

    Google Scholar 

  29. Coq-homepage: https://coq.inria.fr

  30. RelView-homepage: http://www.informatik.uni-kiel.de/~progsys/relview/

  31. Why3-homepage: http://why3.lri.fr/

  32. Input files and proof scripts: http://www.hoefner-online.de/ramics15/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Berghammer, R., Höfner, P., Stucke, I. (2015). Tool-Based Verification of a Relational Vertex Coloring Program. In: Kahl, W., Winter, M., Oliveira, J. (eds) Relational and Algebraic Methods in Computer Science. RAMICS 2015. Lecture Notes in Computer Science(), vol 9348. Springer, Cham. https://doi.org/10.1007/978-3-319-24704-5_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24704-5_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24703-8

  • Online ISBN: 978-3-319-24704-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics