Skip to main content
Log in

Formalization in program development

  • Part I Computer Science
  • Published:
BIT Numerical Mathematics Aims and scope Submit manuscript

Abstract

The concepts of specification and formalization, as relevant to the development of programs, are introduced and discussed. It is found that certain arguments given for using particular formal modes of expression in developing and proving programs correct are invalid. As illustration a formalized description of Algol 60 is discussed and found deficient. Emphasis on formalization is shown to have harmful effects on program development, such as neglect of informal precision and simple formalizations. A style of specifications using formalizations only to enhance intuitive understandability is recommended.

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. A. V. Aho, J. E. Hopcroft and J. D. Ullman,The design and analysis of computer algorithms. Addison-Wesley, Reading, Mass., 1974.

    Google Scholar 

  2. J. W. Backus,The syntax and semantics of the proposed international algebraic language of the Zürich ACM-GAMM conference, Proc. International Conf. on Information Processing, UNESCO, 1959, pp. 125–132.

  3. J. W. Backus, F. L. Bauer, J. Green, C. Katz, J. McCarthy, P. Naur (ed.), A. J. Perlis, H. Rutishauser, K. Samelson, B. Vauquois, J. H. Wegstein, A. van Wijngaarden and M. Woodger,Revised report on the algorithmic language ALGOL 60, Comm. ACM 6, 1 (1963, January), 1–17; Computer Journal 5, 349–367; Num. Math. 2, 106–136.

  4. R. M. de Morgan, I. D. Hill and B. A. Wichman,Modified report on the algorithmic language ALGOL 60, Computer Journal 19 (1976), 364–379.

    Google Scholar 

  5. C. F. Gauss,Theorematis arithmetici — demonstratio nova, Commentationes Societatis Regiæ Scientiarum Gottingensis, Vol. 16, Göttingen, 1808;Werke, 1876, Bd. 2, pp. 1–8;English translation in D. E. Smith, A Source Book in Mathematics, Vol. 1, Dover, New York, 1959, pp. 112–118.

  6. J. Goguen,Thoughts on specification, design and verification, ACM SIGSOFT Software Engineering Notes, Vol. 5 no. 3 (1980, July), 29–33.

  7. W. Henhapl and C. B. Jones,A formal definition of ALGOL 60 as described in the 1975 Modified Report, in D. Bjørner and C. B. Jones (eds.),The Vienna development method: the meta-language, Springer, Lecture Notes in Computer Science 61, Berlin - Heidelberg - New York, 1978, pp. 305–336.

    Google Scholar 

  8. C. B. Jones,The meta-language: a reference manual, in D. Bjørner and C. B. Jones (eds.),The Vienna development method: the meta-language, Springer, Lecture Notes in Computer Science 61, Berlin - Heidelberg - New York, 1978, pp. 218–277.

    Google Scholar 

  9. C. B. Jones,Software development: a rigorous approach, Prentice-Hall, Englewood Cliffs, New Jersey, 1980.

    Google Scholar 

  10. B. Liskov,Modular program construction using abstractions, in D. Bjørner (ed.),Abstract software specifications, Springer, Lecture Notes in Computer Science 86, Berlin - Heidelberg - New York, 1980, pp. 354–389.

    Google Scholar 

  11. B. Liskov and S. Zilles,An introduction to formal specifications of data abstractions, in R. T. Yeh (ed.),Current Trends in Programming Methodology, Vol. 1, Prentice-Hall, Englewood Cliffs, New Jersey, 1977, pp. 1–32.

    Google Scholar 

  12. P. Naur,Concise survey of computer methods, Studentlitteratuur, Lund, Sweden, 1974.

    Google Scholar 

  13. P. Naur,Control-record-driven processing, in R. T. Yeh (ed.), Current Trends in Programming Methodology, Vol. 1, Prentice-Hall, Englewood Cliffs, New Jersey, 1977, pp. 220–232.

    Google Scholar 

  14. B. Russell,Mysticism and logic, Penguin, Harmondsworth, England, 1953.

    Google Scholar 

  15. B. Russell,Introduction, in L. Wittgenstein, Tractatus logico-philosophicus, Routledge and Kegan Paul, London, 1922.

    Google Scholar 

  16. H. Zemanek,Abstract Architecture, in D. Bjørner (ed.), Abstract software specifications, Springer, Lecture Notes in Computer Science 86, Berlin- Heidelberg - New York, 1980, pp. 1–42.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Naur, P. Formalization in program development. BIT 22, 437–453 (1982). https://doi.org/10.1007/BF01934408

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01934408

Keywords

Navigation