This dissertation explores the process by which student programs can be automatically debugged in order to increase the instructional capabilities of these systems. The research presented provides a methodology and implementation for the diagnosis and correction of nontrivial recursive programs. In this approach, recursive programs are debugged by repairing induction proofs in the Boyer-Moore Logic. The author discusses the design, implementation and evaluation of Talus, an automatic debugger for Lisp programs and examines related work in automated program debugging. Talus relies on its abilities to reason about computational semantics to perform algorithm recognition, to infer code teleology and to automatically detect and correct nonsyntactic errors in student programs written in a restricted, but nontrivial, subset of Lisp. A knowledge of Lisp is needed.
"synopsis" may belong to another edition of this title.