Skip to main content

Formalism and Intuition in Software Engineering

  • Chapter
  • First Online:
Perspectives on the Future of Software Engineering

Abstract

A major and so far unmet challenge in software engineering is to achieve and act upon a clear and sound understanding of the relationship between formalism and intuition in the development process. The challenge is salient in the development of cyber-physical systems, in which the computer interacts with the human and physical world to ensure a behaviour there that satisfies the requirements of the system’s stakeholders. The nature of the computer as a formally defined symbol-processing engine invites a formal mathematical approach to software development. Contrary considerations militate against excessive reliance on formalism. The non-formal nature of the human and physical world, the complexity of system function, and the need for human comprehension at every level demand application of non-formal and intuitional knowledge, of insight and technique rather than calculation. The challenge, then, is to determine how these two facets of the development process—formalism and intuition—can work together most productively. This short essay describes some origins and aspects of the challenge and offers a perspective for addressing it.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. Endres, A., Rombach, D.: A Handbook of Software and Systems Engineering. Addison-Wesley (2003)

    Google Scholar 

  2. Klein, G.: Intuition at Work. Doubleday (2003)

    Google Scholar 

  3. Rochlin, G.I.: Trapped in the Net: The Unanticipated Consequences of Computerization. Princeton University Press (1997)

    Google Scholar 

  4. Weyl, H.: The Mathematical Way of Thinking; address given at the Bicentennial Conference at the University of Pennsylvania (1940)

    Google Scholar 

  5. Weyl, H.: David Hilbert and his mathematical work. Bull. Am. Math. Soc. 50, 612–654 (1944)

    Article  MathSciNet  MATH  Google Scholar 

  6. Turing, A M.: Checking a large routine. In: Report on a Conference on High Speed Automatic Calculating Machines, pp. 67–69. Cambridge University Mathematical Laboratory, Cambridge (1949). Discussed in: Jones, C.B.: The Early Search for Tractable Ways of Reasoning about Programs; IEEE Annals of the History of Computing, vol. 25(2), pp. 26–49. 2003

    Google Scholar 

  7. Backus, J.W., Bauer, F.L., Green, J., Katz, C., McCarthy, J., Perlis, A.J., Rutishauser, H., Samelson, K., Vauquois, B., Wegstein, J.H., van Wijngaarden, A., Woodger, M. Naur, P. (eds.): Report on the Algorithmic Language ALGOL 60. Commun. ACM. 3(5), 299–314 (1960)

    Google Scholar 

  8. Conway, M.E.: Design of a separable transition-diagram compiler. Commun. ACM 6(7), 396–408 (1963)

    Article  MATH  Google Scholar 

  9. Dahl, O-J., Hoare, C.A.R.: Hierarchical program structures. In: Dahl, O-J., Dijkstra, E.W., Hoare, C.A.R. (eds.) Structured Programming. Academic (1972)

    Google Scholar 

  10. Dijkstra, E.W.: A case against the go to statement; EWD 215, published as a letter to the Editor (Go To Statement Considered Harmful). Commun. ACM. 11(3), 147–148 (1968)

    Google Scholar 

  11. Dickinson, E.R.: Production of Firing Tables for Cannon Artillery; Report No 1371, US Army Materiel Command, Ballistic research Laboratories, Aberdeen Proving ground, Maryland (1967)

    Google Scholar 

  12. Hayes, I.J., Jackson, M.A., Jones, C.B.: Determining the specification of a control system from that of its environment. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) Formal Methods: Proceedings of FME2003, Springer. Lecture Notes in Computer Science, vol. 2805, pp. 154–169. (2003)

    Google Scholar 

  13. Poincaré, H.: Science et Méthode; Flammarion 1908; English translation by Francis Maitland, Nelson, 1914 and Dover 1952, 2003

    Google Scholar 

Download references

Acknowledgements

This essay owes much to years of cooperation and stimulating discussion with many people, especially Anthony Hall, Ian Hayes, Daniel Jackson, Cliff Jones, Thein Than Tun and Yijun Yu. Since none of them has yet seen even a draft of the essay, they cannot be held responsible for its deficiencies.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Jackson .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Jackson, M. (2013). Formalism and Intuition in Software Engineering. In: Münch, J., Schmid, K. (eds) Perspectives on the Future of Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37395-4_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37395-4_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37394-7

  • Online ISBN: 978-3-642-37395-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics