Skip to main content

Formal Methods: The Problem Is Education

  • Conference paper
  • First Online:
Computer Safety, Reliability and Security (SAFECOMP 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1943))

Included in the following conference series:

  • 781 Accesses

Abstract

One of the most important contributory factors of software correctness, hence reliability, is the application of Formal Methods. These methods should be widely used in practice, but their acceptance by industry is well below what it should be. The most commonly mentioned way of improving on this situation is to reform education. This must address two issues. The first is to establish an appropriate concept of Formal Methods, one which is both sound and practicable. The second is to establish the proper way of teaching the appropriate methods. This paper addresses these two issues. First, it proposes a concept of Formal Methods and examines various misconceptions about these methods. The main tenet of the paper is that Formal Methods should give priority to the formalisation of specifications of system components over the production of completely formal proofs. Second, the paper reports on the author’s experience in teaching Formal Methods and related topics at introductory (MSc conversion) level over many years. Examples of simple specifications are given, their contribution to students’ education discussed, and a number of teaching recommendations are proposed.

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. Boehm, B. W. Software Engineering Economics. Prentice Hall, Englewood Cliffs, N.J. (1981)

    MATH  Google Scholar 

  2. Bowen, J. P. and Hinchey, M. G. Seven more myths of formal methods. IEEE Software, July (1995)

    Google Scholar 

  3. Bowen, J. and Stavridou V. Safety-critical systems, formal methods and standards. Software Engineering Journal, Vol 8, No 4 (1993) 189–209

    Article  Google Scholar 

  4. Clarke, E. M., Wing, J. M. et al. Formal Methods: State of the art and future directions. ACM Computing Surveys, Vol 28, No 4 (1996)

    Google Scholar 

  5. Cuadrado, J. Teach formal methods. Byte, Vol 19, No 12 (1994) 292

    Google Scholar 

  6. Dean, C. N. and Hinchey, M. G. (Eds). Teaching and Learning Formal Methods. Academic Press, San Diego, Calif. (1996)

    Google Scholar 

  7. Descartes, R. Discours de la MĂ©thode (1637). English translation by F. E. Sutcliffe, Discourse on Method and the Meditations. Penguin Books, Harmondsworth, England (1968)

    Google Scholar 

  8. Dick, J. and Woods, E. Lessons learned from rigorous system software development. Information and Software Technology, Vol 39, No 8 (1997) 551–560

    Article  Google Scholar 

  9. Dix, A. Formal Methods for Interactive Systems. Academic Press, San Diego, Calif. (1991)

    Google Scholar 

  10. Enderton, H. B. A Mathematical Introduction to Logic. Academic Press, New York (1972)

    MATH  Google Scholar 

  11. Feijs, L.M.G. and Jonkers, H.B.M. Formal Specification and Design. Cambridge University Press, Cambridge, England (1992)

    MATH  Google Scholar 

  12. Floyd, R. Assigning meaning to programs. In Mathematical Aspects of Computer Science, XIX American Mathematical Society (1967) 19–32

    MathSciNet  Google Scholar 

  13. Garlan, D. Making formal methods education effective for professionals. Information and Software Technology, Vol 37, No 5–6 (1995) 261–268

    Article  Google Scholar 

  14. Gries, D. The Science of Programming. Springer-Verlag, New York (1981)

    MATH  Google Scholar 

  15. Hall, A. Seven myths of Formal Methods. IEEE Software, September (1990)

    Google Scholar 

  16. Halmos, P. R. NaĂŻve Set Theory. Springer-Verlag, New York (1974)

    MATH  Google Scholar 

  17. Hoare, C.A.R. and Shepherdson, J.C. Mathematical Logic and Programming Languages. Prentice-Hall International, London (1985)

    MATH  Google Scholar 

  18. Ince, D.C. An Introduction to Discrete Mathematics and Formal System Specification. Clarendon Press, Oxford (1988)

    MATH  Google Scholar 

  19. Jones, C.B. Systematic Software Development Using VDM. Prentice-Hall International, London (1986)

    MATH  Google Scholar 

  20. McDermid, J. A. (Ed). The Theory and Practice of Refinement: Approaches to the Formal Development of Large-Scale Software Systems. Butterworth & Co. (Publishers) Ltd (1989)

    Google Scholar 

  21. Parnas, D. L. On ICSE’s “Most influential” papers. ACM SIGSOFT Software Engineering Notes, Vol 20, No 3 (1995) 29–32

    Article  MathSciNet  Google Scholar 

  22. Parnas, D. L. “Formal Methods” Technology Transfer Will Fail. Journal of Systems and Software, Vol 40, No 3 (1998) 195–198

    Article  Google Scholar 

  23. Paulson, L. C. Logic and Computation. Cambridge University Press, Cambridge, England (1987)

    MATH  Google Scholar 

  24. PĂłlya G. How to Solve It. 2nd renewed edition, Penguin Books, London (1990)

    Google Scholar 

  25. Ralston, T., Gerhart, S., and Craigen, D. The role of education and training in the industrial application of formal methods. Algebraic methodology and software technology, Lecture Notes in Computer Science, Vol 936 (1995) 41–49

    Google Scholar 

  26. Scheurer, T. Foundations of Computing. Addison-Wesley, Wokingham, England (1994)

    MATH  Google Scholar 

  27. Sobel, A. E. K. Applying an operational formal method throughout software engineering education. Information and Software Technology, Vol 40, No 4 (1998) 233–238

    Article  Google Scholar 

  28. Sommerville, I. Software Engineering. 3rd Ed., Addison-Wesley, Wokingham, England (1989)

    MATH  Google Scholar 

  29. Spivey, J.M. The Z Notation: A Reference Manual. Prentice-Hall International, London (1989)

    MATH  Google Scholar 

  30. Thimbleby, H. Computerised Parkinson’s law. Computing & Control Engineering Journal, Vol 4, No 5 (1993) 197–198

    Article  Google Scholar 

  31. Tse, T. H. Formal or informal, practical or impractical — towards integrating formal methods with informal practices in software engineering-education. Software Engineering Education, IFIP Transactions A — Computer Science and Technology, Vol 40, (1993) 189–197.

    Google Scholar 

  32. Woodcock, J. C. P. Calculating properties of Z specifications. ACM SIGSoft Software-Eng. Notes (1989) 43–54

    Google Scholar 

  33. Wordsworth, J. B. Software Development with Z. Addison-Wesley, Wokingham, England (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Scheurer, T. (2000). Formal Methods: The Problem Is Education. In: Koornneef, F., van der Meulen, M. (eds) Computer Safety, Reliability and Security. SAFECOMP 2000. Lecture Notes in Computer Science, vol 1943. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40891-6_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-40891-6_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41186-4

  • Online ISBN: 978-3-540-40891-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics