
Algorithmic program debugging
by Ehud Yehuda Shapiro · first published 1983
6mentions
2recommended by
4HN commenters
2017–2022first – last mentioned
50% recommend50% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.

…debug your programs by logical reasoning. In fact, to a significant extent, you can even automate debugging due to these properties. Such techniques were pionereed by Ehud Shapiro in his 1982 PhD thesis, Algorithmic Program Debugging: http://cpsc.yale.edu/sites/default/files/files/tr237.pdf The thesis is an excellent read, and I highly recommend it! Specifically, quoting from page 155: “Although Lisp is considered a high level…
on “Interpreter for a simple Lisp, Written in Prolog” ↗This is indeed an extremely interesting approach. It was pioneered in the context of logic programming and Prolog by Ehud Shapiro in his 1982 PhD thesis "Algorithmic Program Debugging". The thesis was published as an ACM Distinguished Dissertation by MIT press and is available online from: http://cpsc.yale.edu/sites/default/files/files/tr237.pdf Together with Leon Sterling, Ehud…
on “Near Future of Programming Languages [pdf]” ↗The induction of logic programs in Prolog from examples was done by Ehud Shapiro's "Model Inference System" described in his PhD thesis, "Algorithmic Programming Debugging" (https://www.amazon.com/Algorithmic-Program-Debugging-Disting...), in 1982. This was one of the earliest inductive logic programming (https://en.wikipedia.org/wiki/Inductive_logic_programming) systems.
on “Barliman – real-time program synthesis to make the programmer's life easier” ↗…debug both cases very systematically and even automatically, using built-in mechanisms of the language. Declarative debugging methods for Prolog were pioneered by Ehud Shapiro in his 1982 PhD thesis, Algorithmic Program Debugging: https://cpsc.yale.edu/sites/default/files/files/tr237.pdf I also highly recommend Ulrich Neumerkel's teleteaching environment GUPU for systematically finding mistakes in Prolog programs: https://www.complang.tuwien.ac.at/ulrich/gupu/
on “The Power of Prolog” ↗Possibly interesting trivium: automated debugging was first described in 1982, in Ehud Shapiro's PhD thesis titled "Algorithmic Program Debugging" (it's what it sounds like and it can also generate programs by "correcting" an empty program): https://en.wikipedia.org/wiki/Algorithmic_program_debugging Of course all this targeted only Prolog programs…
on “Competitive Programming with AlphaCode” ↗…unit tests, or] look over your code and understand and explain where you might have bugs. What you're describing (outside of the square braces) is algorithmic debugging: https://en.wikipedia.org/wiki/Algorithmic_program_debugging It was introduced in the PhD thesis of Ehud Shapiro. There's been a steady trickle of research work since then but it's never formed into a strong current, if I may. One reason for that is of course…
on “Demo of an OpenAI language model applied to code generation [video]” ↗