Issue No.01 - January (1982 vol.8)
R.C. Waters , Artificial Intelligence Laboratory, Massachusetts Institute of Technology
An initial implementation of an interactive programming assistant system called the programmer's apprentice (PA) is described. The PA is designed to be midway between an improved programming methodology and an automatic programming system. The intention is that the programmer will do the hard parts of design and implementation while the PA will assist him wherever possible. One of the major underpinnings of the PA is a representation (called a plan) for programs which abstracts away from the inessential features of a program, and represents the basic logical properties of the algorithm explicitly.
transformations, Computer-aided design, editing, Lisp, plans, program analysis, programmer's apprentice, program modification, program synthesis, program understanding
R.C. Waters, "The Programmer's Apprentice: Knowledge Based Program Editing", IEEE Transactions on Software Engineering, vol.8, no. 1, pp. 1-12, January 1982, doi:10.1109/TSE.1982.234769