Logical debugging

Nachum Dershowitz, Yuh-Jeng Lee
1993 Journal of symbolic computation  
A methodology for reasoning about logic programs and their specifications is applied to program debugging as well as program synthesis. Specifications in the form of an executable model of the desired program are used to generate test cases, locate bugs, and guide bug correction. Both deductive and inductive inference techniques are employed for bug correction and synthesis. The behavior of the automated debugger is demonstrated through several examples.
doi:10.1016/s0747-7171(06)80011-8 fatcat:4pdirnzle5cshi7d7gqe6zaemm