Issue No. 01 - January/February (1990 vol. 7)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.43053
<p>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.</p>
graph-parsing; programming structures; prototype; Recognizer; cliches; hierarchical description; representation shift; graphical representation; Plan Calculus; Programmer's Apprentice; intelligent programming system; Common Lisp; program diagnostics; software tools
C. Rich and L. M. Wills, "Recognizing a Program's Design: A Graph-Parsing Approach," in IEEE Software, vol. 7, no. , pp. 82-89, 1990.