Advertisement

A proof obligation generator for VDM-SL

  • Bernhard K. Aichernig
  • Peter Gorm Larsenz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1313)

Abstract

In this paper an extension of the IFAD VDM-SL Toolbox with a proof obligation generator is described. Static type checking in VDM is undecidable in general and therefore the type checker must be incomplete. Hence, for the “difficult” parts introducing undecidability, it is up to the user to verify the consistency of a specification. Instead of providing error messages and warnings, the approach of generating proof obligations for the consistency of VDM-SL specifications is taken. The overall goal of this work is to automate the generation of proof obligations for VDM-SL. Proof obligation generation has already been carried out for a number of related notations, but VDM-SL contains a number of challenging constructs (e.g. patterns, non-disjoint union types, and operations) for which new research is presented in this paper.

Keywords

Error Message Proof Obligation Static Semantic Type Checker Proof Rule 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    J.-R. Abrial. The B Book-Assigning Programs to Meanings. Cambridge University Press, August 1996.Google Scholar
  2. 2.
    S. Agerholm and J. Frost. An Isabelle-based theorem prover for VDM-SL. In Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics (TPHOLs'97), LNCS. Springer-Verlag, August 1997.Google Scholar
  3. 3.
    S. Agerholm and J. Frost. Towards an integrated CASE and theorem proving tool for VDM-SL. FME'97, September 1997.Google Scholar
  4. 4.
    Bernhard K. Aichernig. A Proof Obligation Generator for the IFAD VDM-SL Toolbox. Master's thesis, Technical University Graz, Austria, March 1997.Google Scholar
  5. 5.
    K. Apt. Ten Years of Hoare's Logic: A survey — Part I. ACM-TOPLAS, 3(4):431–483, Oct 1981.Google Scholar
  6. 6.
    Juan Bicarregui, John Fitzgerald, Peter Lindsay, Richard Moore, and Brian Ritchie. Proof in VDM: A Practitioner's Guide. FACIT. Springer-Verlag, 1994. ISBN 3-540-19813-X.Google Scholar
  7. 7.
    Hans Bruun, Flemming Damm, and Bo Stig Hansen. An Approach to the Static Semantics of VDM-SL. In VDM '91: Formal Software Development Methods, pages 220-253. VDM Europe, Springer-Verlag, October 1991.Google Scholar
  8. 8.
    Bernard Carre, William Marsh, and Jon Garnsworthy. SPARK: A Safety-Related Ada Subset. In Ada UK Conference, pages 1–19, August 22 1992.Google Scholar
  9. 9.
    Dan Craigen, Sentot Kromodimoeljo, Irwin Meisels, Bill Pase, and Mark Saaltink. Eves: An overview. In S. Prehn and W.J. Toetenel, editors, VDM'91-Formal Software Development Methods, pages 389–405. Springer-Verlag, October 1991.Google Scholar
  10. 10.
    Flemming Damm, Hans Bruun, and Bo Stig Hansen. On Type Checking in VDM and Related Consistency Issues. In VDM '91: Formal Software Development Methods, pages 45–62. VDM Europe, Springer-Verlag, October 1991.Google Scholar
  11. 11.
    Flemming M. Damm and Bo Stig Hansen. Generation of Proof Obligations for Type Consistency. Technical Report 1993-123, Department of Computer Science, Technical University of Denmark, December 1993.Google Scholar
  12. 12.
    John Dawes. The VDM-SL Reference Guide. Pitman, 1991. ISBN 0-273-03151-1.Google Scholar
  13. 13.
    Renè Elmstrom, Peter Gorm Larsen, and Poul Bøgh Lassen. The IFAD VDM-SL Toolbox: A Practical Approach to Formal Specifications. ACM Sigplan Notices, 29(9):77–80, September 1994.Google Scholar
  14. 14.
    Jon Garnsworthy, Ian O'Neill, and Bernhard Carrè. Automatic Proof of Absence of Run-time Errors. In Ada UK Conference. London Docklands, October 1993.Google Scholar
  15. 15.
    The RAISE Language Group. The RAISE Specification Language. The BCSPractitioners Series. Prentice-Hall, 1992.Google Scholar
  16. 16.
    The VDM Tool Group. User Manual for the IFAD VDM-SL Toolbox. Technical report, IFAD, May 1996. IFAD-VDM-4.Google Scholar
  17. 17.
    Howard Haughton. Specification in B: An Introduction Using the B Toolkit. World Scientific Publishing, 1996.Google Scholar
  18. 18.
    I.J. Hayes, C.B. Jones, and J.E. Nicholls. Understanding the Differences Between VDM and Z. FRCS Europe, pages 7–30, Autumn 1993.Google Scholar
  19. 19.
    C.A.R. Hoare. An Axiomatic Basis for Computer Programming. Communications of teh ACM, 12(10):576–581, October 1969.Google Scholar
  20. 20.
    Cliff Jones, Kevin Jones, Peter Linsay, and Richard Moore, editors. mural: A Formal Development Support System. Springer-Verlag, 1991. ISBN 3-540-19651-X.Google Scholar
  21. 21.
    Cliff B. Jones. Systematic Software Development Using VDM. Prentice-Hall International, Englewood Cliffs, New Jersey, second edition, 1990. ISBN 0-13-880733-7.Google Scholar
  22. 22.
    Peter Corm Larsen. Towards Proof Rules for VDM-SL. PhD thesis, Technical University of Denmark, Department of Computer Science, March 1995. ID-TR:1995-160.Google Scholar
  23. 23.
    P.G. Larsen, B. S. Hansen, H. Brunn, N. Plat, H. Toetenel, D. J. Andrews, J. Dawes, G. Parkin, and et. al. Information Technology-Programming languages, their environments and system software interfaces-Vienna Development Method-Specification Language-Part 1: Base language, ISO/IEC 13817-1, December 1996.Google Scholar
  24. 24.
    Paul Mukherjee. Computer-aided Validation of Formal Specifications. Software Engineering Journal, pages 133–140, July 1995.Google Scholar
  25. 25.
    Sam Owre, John Rushby, Natarajan Shankar, and Friedrich von Henke. Formal Verification for Fault-Tolerant Architectures: Some Lessons Learned. In J.C.P. Woodcock and P.G. Larsen, editors, FME'93: Industrial-Strength Formal Methods, pages 482–501. Formal Methods Europe, Springer-Verlag, April 1993. Lecture Notes in Computer Science 670.Google Scholar
  26. 26.
    Nico Plat and Peter Gorm Larsen. An Overview of the ISO/VDM-SL Standard. Sigplan Notices, 27(8):76–82, August 1992.Google Scholar
  27. 27.
    The RAISE Method Group. The RAISE Development Method. The BCS Practitioners Series. Prentice-Hall International, 1995.Google Scholar
  28. 28.
    Mark Saaltink. Z and EVES. In J.E. Nicholls, editor, Z User Workshop, York 1991, pages 223–242. Springer-Verlag, 1992. Workshops in Computing.Google Scholar
  29. 29.
    Mark Saaltink. The Z/EVES system. Technical report, ORA Canada, September 1995.Google Scholar
  30. 30.
    R.D. Tennent. Principles of Programming Languages. Prentice-Hall International, Englewood Cliffs, New Jersey 07632, 1981.Google Scholar
  31. 31.
    The VDM Tool Group. The IFAD VDM-SL Language. Technical report, IFAD, May 1996. IFAD-VDM-1.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Bernhard K. Aichernig
    • 1
  • Peter Gorm Larsenz
    • 2
  1. 1.Institute of Software Technology (IST)Graz University of TechnologyGrazAustria
  2. 2.Institute of Applied Computer Science (IFAD)Denmark

Personalised recommendations