login

Algorithmic program diagnosis

Published 1 January 1982
Ehud Shapiro
Citations99

TL;DR

Algorithms for detecting incorrect procedures are developed and their performance suggests that the algorithms can be the backbone of debugging aids that go far beyond what is offered by current programming environments.

Abstract

The notion of program correctness with respect to an interpretation is defined for a class of programming languages. Under this definition, if a program terminates with an incorrect output then it contains an incorrect procedure. Algorithms for detecting incorrect procedures are developed. These algorithms formalize what experienced programmers may know already.A logic program implementation of these algorithms is described. Its performance suggests that the algorithms can be the backbone of debugging aids that go far beyond what is offered by current programming environments.Applications of algorithmic debugging to automatic program construction are explored.

Keywords

Computer Science