Algorithmic program debugging
This article may have been previously nominated for deletion: Wikipedia:Articles for deletion/Algorithmic program debugging exists. It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "Algorithmic program debugging" – news · newspapers · books · scholar · JSTOR Nominator: Please consider notifying the author/project: {{subst:proposed deletion notify|Algorithmic program debugging|concern=no evidence of notability}} ~~~~ Timestamp: 20140211195116 19:51, 11 February 2014 (UTC) Administrators: delete |
During his PhD research at Yale University Ehud Shapiro developed the first systematic and principled approach to program debugging, a craft practiced by every programmer but till then without any theoretical foundation. In general, a bug occurs when a programmer has a specific intention regarding what the program should do, yet the program actually written exhibits a different behavior than intended in a particular case. In case of logic programs, the intended behavior of the program is a model (a set of simple true statements) and bugs are manifested as program incompleteness (inability to prove a true statement) or incorrectness (ability to prove a false statement). The algorithm would identify a false statement in the program and provide a counter-example to it or a missing true statement that it or its generalization should be added to the program. A method to handle non-termination was also developed. Shapiro implemented the method of algorithmic debugging in Prolog for the debugging of logic programs and his PhD thesis[1] describing this work was selected as a 1982 ACM Distinguished Dissertation. Since then the method of algorithmic debugging has been applied to many programming languages and systems. Three decades later, algorithmic debugging, also known as declarative debugging, is still an active field of computer science research and will probably remain so for decades as no panacea is in sight.
References
- ^ Shapiro, Ehud Y. (1983). Algorithmic program debugging. Cambridge, Mass: MIT Press. ISBN 0-262-19218-7