Advertisement

Tool-Based Verification of a Relational Vertex Coloring Program

  • Rudolf Berghammer
  • Peter Höfner
  • Insa Stucke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    Berghammer, R.: Combining relational calculus and the Dijkstra-Gries method for deriving relational programs. Inform. Sci. 119, 155–171 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Berghammer, R., Hoffmann, T.: Relational depth-first-search with applications. Inform. Sci. 139, 167–186 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 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) CrossRefGoogle Scholar
  6. 6.
    Berghammer, R.: Applying relation algebra and RelView to solve problems on orders and lattices. Acta Inform. 45, 211–236 (2008) MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Berghammer, R., Winter, M.: Embedding mappings and splittings with applications. Acta Inform. 47, 77–110 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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)CrossRefGoogle Scholar
  10. 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. 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. 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)CrossRefGoogle Scholar
  13. 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)MathSciNetzbMATHGoogle Scholar
  14. 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. 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)CrossRefGoogle Scholar
  16. 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)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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)CrossRefGoogle Scholar
  19. 19.
    Maddux, R.: Relation algebras. Studies in Logic and the Foundations of Mathematics, vol. 150. Elsevier (2006)Google Scholar
  20. 20.
    McCune, W.W.: Prover9 and Mace4, http://www.cs.unm.edu/~mccune/prover9
  21. 21.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 23.
    Pous, D.: Relation algebra and KAT in Coq, http://perso.ens-lyon.fr/damien.pous/ra/
  24. 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. 25.
    Schmidt, G.: Relational mathematics. Encyclopedia of Mathematics and its Applications. Cambridge University Press (2010)Google Scholar
  26. 26.
    Tarski, A.: On the calculus of relations. J. Symb. Logic 6(3), 73–89 (1941)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Tarski, A., Givant, S.: A formalization of set theory without variables. AMS Colloquium Publications, American Mathematical Society (1987)Google Scholar
  28. 28.
    Wenzel, M.: Isabelle/Isar – a versatile environment for human-readable formal proof documents. Dissertation, Technische Universität München (2002)Google Scholar
  29. 29.
    Coq-homepage: https://coq.inria.fr
  30. 30.
  31. 31.
    Why3-homepage: http://why3.lri.fr/
  32. 32.
    Input files and proof scripts: http://www.hoefner-online.de/ramics15/

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Rudolf Berghammer
    • 1
  • Peter Höfner
    • 2
    • 3
  • Insa Stucke
    • 1
  1. 1.Institut für InformatikChristian-Albrechts-Universität zu KielKielGermany
  2. 2.NICTASydneyAustralia
  3. 3.Computer Science and EngineeringUniversity of New South WalesSydneyAustralia

Personalised recommendations