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.
Cite
CITATION STYLE
Hoare, C. A. R. (1996). How did software get so reliable without proof? In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1051, pp. 1–17). Springer Verlag. https://doi.org/10.1007/3-540-60973-3_77
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.