Recognizing a program's design: a graph-parsing approach
- 1 January 1990
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 7 (1) , 82-89
- https://doi.org/10.1109/52.43053
Abstract
Psychological experiments have shown that programmers tend to use the same structure over and over. The authors call these commonly used programming structures 'cliches'. They describe a prototype, the Recognizer, that automatically finds all occurrences of a given set of cliches in a program and builds a hierarchical description of the program in terms of the cliches it finds. The key to the Recognizer's approach is a representation shift. Instead of looking for cliches directly in the source code, the Recognizer first translates the program into a language-independent, graphical representation called the Plan Calculus. The Plan Calculus is a program representation shared by all components of the Programmer's Apprentice, an intelligent programming system. Thus, although the authors have demonstrated the Recognizer only on small Common Lisp programs, the underlying technology is language-independent.Keywords
This publication has 5 references indexed in Scilit:
- Automated program recognitionArtificial Intelligence, 1990
- The Programmer's Apprentice: a research overviewComputer, 1988
- Learning by failing to explain: Using partial explanations to learn in incomplete or intractable domainsMachine Learning, 1988
- Empirical Studies of Programming KnowledgeIEEE Transactions on Software Engineering, 1984
- Understanding and debugging programsInternational Journal of Man-Machine Studies, 1980