The evolution of list-copying algorithms and the need for structured program verification
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Abstracts in software engineering: part 2
ACM SIGSOFT Software Engineering Notes
Informality in program specifications
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
Hi-index | 0.00 |
Backtracting is a well-known technique for solving combinatorial problems. It is of interest to programming methodologists because (1) correctness of backtracking programs may be difficult to ascertain experimentally and (2) efficiency is often of paramount importance. This paper applies a programming methodology, which we call control structure abstraction, to the backtracking technique. The value of control structure abstraction in the context of correctness is that proofs of general properties of a class of programs with similar control structures are separated from proofs of specific properties of individual programs of the class. In the context of efficiency, it provides sufficient conditions for correctness of an initial program which may subsequently be improved for efficiency while preserving correctness.