|
ABSTRACT
An overview of the goals, methods and progress of the Programmer's Apprentice Project: The goals of the project are to develop an artificial intelligence theory of how expert programmers analyze, synthesize, modify, explain, verify and document programs, and to apply that theory towards automating the programming process. Recognizing that the long-term goal of totally automatic programming is very far off, we are presently concentrating on applying our research towards developing an intelligent computer assistant for programmers, called the Programmer's apprentice. One of our key observations is that expert programmers rely heavily on a large body of standard implementation methods and program forms. A central part of the research has therefore been to identify and codify these standard forms. For this purpose, we have developed a programming-language independent formalism, called the Plan Calculus, in which these standard forms can be written down in a canonical and abstract way, and used by an automatic programming system. An initial library of several hundred plans using has been compiled using this formalism.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
C. Rich and H. Shrobe, "Initial Report on A Lisp Programmer's Apprentice", IEEE Trans. on Software Eng., Vol. 4, No. 5, November, 1978.
|
| |
2
|
R.C. Waters, "A Method for Analyzing Loop Programs", IEEE Trans. on Software Eng., Vol. SE-5, No. 3, May 1979, pp. 237-247.
|
| |
3
|
R.C. Waters, "The Programmer's Apprentice: Knowledge Based Program Editing", IEEE Trans. on Software Eng., Vol. SE-8, No. 1, January 1982.
|
 |
4
|
|
| |
5
|
C. Rich and R.C. Waters, "Formalizing Reusable Software Components", ITT Workshop on Reusability in Programming, Newport, RI, September 7-8, 1983.
|
 |
6
|
|
| |
7
|
C. Rich, "A Formal Representation for Plans in the Programmer's Apprentice", Proc. of 7th Int. Joint Conf. on Artificial Intelligence, Vancouver, Canada, August, 1981.
|
| |
8
|
C. Rich, "Knowledge Representation Languages and Predicate Calculus: How to Have Your Cake and Eat It Too", Proc. of Second National Conf. on Artificial Intelligence, Pittsburgh, PA, August 1982.
|
| |
9
|
C. Rich and R.C. Waters, "Abstraction, Inspection and Debugging in Programming", MIT/AIM-634, June, 1981.
|
| |
10
|
|
|