Designing Programs to Check Their Work

TitleDesigning Programs to Check Their Work
Publication TypeTechnical Report
Year of Publication1988
AuthorsBlum, M. E.
Other Numbers495

Students, engineers, programmers...are taught to check their work. Computer programs are not. There are several reasons for this: 1. Computer hardware almost never makes errors -- but that fails to recognize that programmers unfortunately do! 2. Programs are hard enough to write without having to also write program checkers for them -- but that is the price of increased confidence! 3. There is no clear notion what constitutes a good checker. Indeed, the same students and engineers who are cautioned to check their work are rarely informed what it is that makes for a good procedure to do so -- but that is just the sort of problem that computer scientists should be able to solve! In the view of the author, the lack of correctness checks in programs is an oversight. Programs have bugs that could perfectly well be caught by such checks. This paper urges that programs be written to check their work, and outlines a promising and rigorous approach to the study of this fascinating new area.

Bibliographic Notes

ICSI Technical Report TR-88-009

Abbreviated Authors

M. Blum

ICSI Publication Type

Technical Report