ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Artificial intelligence and software engineering: The Programmer's Apprentice project
Full text PdfPdf (79 KB)
Source ACM Annual Conference/Annual Meeting archive
Proceedings of the 1984 annual conference of the ACM on The fifth generation challenge table of contents
Page: 29  
Year of Publication: 1984
ISBN:0-89791-144-X
Author
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 11,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800171.809600
What is a DOI?

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