Approaches to Program Correctness

by Joseph O. Harrison, Jr., Sr. Scientist for Computer Sci.; Inst. for Computer Sci. and Tech., National Bureau of Standards, U.S. Dept. of Commerce, Washington, D.C.,

Serial Information: Journal of the Technical Councils of ASCE, 1978, Vol. 104, Issue 1, Pg. 39-48

Document Type: Journal Paper


At the beginning of the computer age programs were verified primarily by spot checking them against precomputed values. Except for programmed diagnostics, which detect only specific classes of errors, this is till the only verification technique is general use today. A great deal of research is being devoted to new approaches. Generally speaking, these fall into three broad categories: systematic program testing, mathematical proofs of program correctness, and writing programs so that they are known to be correct in the first place. The last of these, writing programs that are known to be correct, appears to be already developed and ready for use. The first, systematic program testing, has reached the computer assisted stage. The extent of its usefulness in this form and the prospects for extending it to a fully automatic technique remain to be seen. The second, mathematical proofs of program correctness, will be restricted in its application to relatively trivial problems until at least one serious fundamental difficulty is overcome — the development of more powerful theorem provers.

Subject Headings: Verification | Mathematics | Writing skills | Diagnosis | Computer aided operations | Automation

Services: Buy this book/Buy this article


Return to search