This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
PROUST: Knowledge-Based Program Understanding
March 1985 (vol. 11 no. 3)
pp. 267-275
W.L. Johnson, Department of Computer Science, Yale University
This paper describes a program called PROUST which does on-line analysis and understanding of Pascal written by novice programmers. PROUST takes as input a program and a nonalgorithmic description of the program requirements, and finds the most likely mapping between the requirements and the code. This mapping is in essence a reconstruction of the design and implementation steps that the programmer went through in writing the program. A knowledge base of programming plans and strategies, together with common bugs associated with them, is used in constructing this mapping. Bugs are discovered in the process of relating plans to the code; PROUST can therefore give deep explanations of program bugs by relating the buggy code to its underlying intentions.
Index Terms:
program understanding, Artificial inteiligence, program debugging, programmer training
Citation:
W.L. Johnson, E. Soloway, "PROUST: Knowledge-Based Program Understanding," IEEE Transactions on Software Engineering, vol. 11, no. 3, pp. 267-275, March 1985, doi:10.1109/TSE.1985.232210
Usage of this product signifies your acceptance of the Terms of Use.