Heuristic and Formal Methods in Automatic Program Debugging

Abstract

TALUS is an automatic program debugging system that both detects and corrects nonsyntactic bugs in student programs written to solve small but nontrivial tasks in pure LISP. TALUS permits significant variability in student solutions by using heuristic methods to recognize different algorithms and formal methods to reason about computational equivalence of program fragments. A theorem prover intensionally represents an infinite database of rewrite rules, thus allowing for unanticipated implementations. TALUS detects bugs using formal methods in both symbolic evaluation and case analysis. Heuristic methods conjecture the exact location of bugs and alterations necessary to correct the bugs. Finally, formal methods establish or disprove these heuristic conjectures, reflecting a generate and test methodology.

Cite

Text

Murray. "Heuristic and Formal Methods in Automatic Program Debugging." International Joint Conference on Artificial Intelligence, 1985.

Markdown

[Murray. "Heuristic and Formal Methods in Automatic Program Debugging." International Joint Conference on Artificial Intelligence, 1985.](https://mlanthology.org/ijcai/1985/murray1985ijcai-heuristic/)

BibTeX

@inproceedings{murray1985ijcai-heuristic,
  title     = {{Heuristic and Formal Methods in Automatic Program Debugging}},
  author    = {Murray, William R.},
  booktitle = {International Joint Conference on Artificial Intelligence},
  year      = {1985},
  pages     = {15-19},
  url       = {https://mlanthology.org/ijcai/1985/murray1985ijcai-heuristic/}
}