Skip to main content
Log in

Verification in the Classroom

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We report on a university course on computer-aided program verification using the ✓eriFun system. Requirements for a system to be used in a verification course are discussed, and a sketch of our system is given. We illustrate the problems presented to the students, starting with simple sorting algorithms and finally verifying the unsolvability of the halting problem, the correctness of RSA encryption, and a first-order matching algorithm. We give an account of our experience with the course and the conclusions to be drawn from this event. We also report on further experience obtained when the system was used in an undergraduate course.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. http://www.informatik.tu-darmstadt.de/pm/verifun/.

  2. http://www.cs.utexas.edu/users/boyer/ftp/nqthm/index.html.

  3. Auer, J. and Aderhold, M.: Unentscheidbarkeit des Halteproblems-Ein computergestützter Beweis mit ✔eriFun, 2002.

  4. Boyer, R. S. and Moore, J S.: A Computational Logic, Academic Press, New York, 1979.

    Google Scholar 

  5. Boyer, R. S. and Moore, J S.: A mechanical proof of the unsolvability of the halting problem, J. ACM 31(3) (1984), 441-458.

    Google Scholar 

  6. Boyer, R. S. and Moore, J S.: Proof checking the RSA public key encryption algorithm, Amer. Math. Monthly 91(3) (1984), 181-189.

    Google Scholar 

  7. Burstall, R. M.: Proving properties of programs by structural induction, Comput. J. 12(1) (1969), 41-48.

    Google Scholar 

  8. Gordon, M. J. C. and Melham, T. F.: Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic, Cambridge University Press, Cambridge, 1993.

    Google Scholar 

  9. Gosling, J., Joy, B. and Steele, G. L.: The Java Language Specification, Addison-Wesley, Reading, MA, 1996.

    Google Scholar 

  10. Hutter, D., Langenstein, B., Sengler, C., Siekmann, J., Stephan, W. and Wolpers, A.: Deduction in the verification support environment, in M.-C. Gaudel and J. Woodcock (eds.), Intern. Symp. of Formal Methods Europe (FME), Lecture Notes in Artif. Intell. 1051, Springer, New York, 1996.

    Google Scholar 

  11. Kaufmann, M. and Moore, J S.: ACL2: An industrial strength version of NQTHM, in Compass '96: 11th Annual Conf. on Computer Assurance, Gaithersburg, Maryland, 1996.

  12. Owre, S., Rushby, J. and Shankar, N.: PVS: A prototype verification system, in Proc. 11th Intern. Conf. on Automated Deduction (CADE-92), Lecture Notes in Artif. Intell. 607, Springer-Verlag, New York, 1992.

    Google Scholar 

  13. Paulson, L. C.: Isabelle: A Generic Theorem Prover, Lecture Notes in Comput. Sci. 828, Springer-Verlag, New York, 1994.

    Google Scholar 

  14. Reif, W.: The KIV approach to software verification, in M. Broy and S. Jähnichen (eds.), KORSO: Methods, Languages and Tools for the Construction of Correct Software, Lecture Notes in Comput. Sci. 1009, Springer-Verlag, New York, 1995.

    Google Scholar 

  15. Walther, C.: Computing induction axioms, in A. Voronkov (ed.), Proc. of the Inter. Conf. on Logic Programming and Automated Reasoning (LPAR-1992) (St. Petersburg, Russia), Lecture Notes in Comput. Sci. 624, Springer-Verlag, New York, 1992, pp. 381-392.

    Google Scholar 

  16. Walther, C.: On proving the termination of algorithms by machine, Artificial Intelligence 71(1) (1994), 101-157.

    Google Scholar 

  17. Walther, C. and Schweitzer, S.: The ✔eriFun tutorial, Technical Report VFR 02/04, Programmiermethodik, Technische Universität Darmstadt, 2002.

  18. Walther, C. and Schweitzer, S.: ✔eriFun user guide, Technical Report VFR, 02/01, Programmiermethodik, Technische Universität Darmstadt, 2002.

  19. Walther, C. and Schweitzer, S.: About ✔eriFun, in F. Baader (ed.), Proc. of the 19th Inter. Conf. on Automated Deduction (CADE-19), Lecture Notes in Artif. Intell. 2741, Springer-Verlag, New York, 2003, pp. 322-327.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Walther, C., Schweitzer, S. Verification in the Classroom. Journal of Automated Reasoning 32, 35–73 (2004). https://doi.org/10.1023/B:JARS.0000021872.64036.41

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:JARS.0000021872.64036.41

Navigation