How did software get so reliable without proof?

  • C. A. R. Hoare
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1051)

Abstract

By surveying current software engineering practice, this paper reveals that the techniques employed to achieve reliability are little different from those which have proved effective in all other branches of modern engineering: rigorous management of procedures for design inspection and review; quality assurance based on a wide range of targeted tests; continuous evolution by removal of errors from products already in widespread use; and defensive programming, among other forms of deliberate over-engineering. Formal methods and proof play a small direct role in large scale programming; but they do provide a conceptual framework and basic understanding to promote the best of current practice, and point directions for future improvement.

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • C. A. R. Hoare
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations