AMORD explicit control of reasoning
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
A Computational Model of Skill Acquisition
A Computational Model of Skill Acquisition
Truth Maintenance Systems for Problem Solving
Truth Maintenance Systems for Problem Solving
Initial Report on a Lisp Programmer's Apprentice
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
REASON is the deductive component of a larger program understanding system called the Programmer's Apprentice ('REASON') key features are : (1) Its use of the Truth Maintenance System [2] to record end manipulate the justifications for its deductions, (2) A discipline of explicitly recording control information in a form which may be manipulated by the reasoning system itself and (3) Its goal of producing a a "common sense" explanation of how a program functions, as opposed to the formal proofs common in verification. One particularly difficult problem which such a system must face is the analysis of program which allow destructive modifications of potentially shared data structures. Our observation is that experienced programmers tend to make simplifying assumptions when analyzing such programs; even if these assumptions are found to be false they can be useful in guiding a more accurate analysis. This paper shows how REASON mimics thb behavior of expert programmers.