Proceedings

A Knowledge-Based Program Editor

Download BibTeX Cite

Proceedings of the Seventh International Joint Conference on Artificial Intelligence. Programming Environments. Pages 920-925.

© 1981 International Joint Conferences on Artificial Intelligence

Abstract

This paper describes an initial implementation of an interactive programming as sistant system called the Programmer's Apprentice (PA). The PA . is designed to be midway between an improved programming methodology and an automatic programming system. The intention is that the progr amroer will do I he hard parts of design and implementat ion while the PA will assist him wherever poss ible. One of The major underpinnings of the PAis a representation (called a plan) for programs which abstracts away from the inessent i al feature s of a program, and represents the basic logical properties of the algor i thm explicitly. The current system is composed of four parts: an analyzer that can construct the plan for a program; a coder that can create program text corresponding to a plan; a library of plans lor common algorithmic fragments; and a plan editor which mal<.es it possible for a programmer to modify a program by modifying its plan. The greatest lever age provided by I he system comes from the fact I hat a programmer can rapidly and accurately build up a program by referring to the fragments in the library and from the fact that the editor provides commands specifically designed to facilitate program modificat i on .

  1. R. Balzer, "Transformationallmplementetion: An Enmple", IEEE Trans. on Software Eng., V7 •1, January, 1981.
  2. D.R. Barstow, "Automatic Construction of Alaorithms and Data Structures Using A Knowledge Base of Proarammin& Rules", Stanford AIM-308, Nov. 1977.
  3. D.C. Brotsky, "Proaram Understandin& Through Cliche Recognition", MIT masters thesis proposal, March 1981.
  4. T.E. Cheatham, "An Overview of the Harvard Program Development System", pp. 253-266 in "Software Engineering Environments• H. Hunke ed., North-Holland, 1981.
  5. V. Donzeau-Gouge, et at, "A Structure-Qriented Program Editor; A First Step Towards Computer Assisted Prognmmina•, Proc. Int. COmputing Symp., Antibes, 1975.
  6. L.J. Guibas and O.K. Wyatt, "Compilation and Delayed Evaluation in APL •, Proceedings of 5th ACM POPL Conference, 1978.
  7. P. Feiler and R. Medina-Mora, "An Incremental Programming Environment", proc. of the 5th Int. Coni. on Soft. Eng., San Diego CA, March 1981.
  8. C. Rich, "Inspection Methods in Programmina•, MIT /AI/TR-604, (based on an MIT PhD. thesis June 1980), to appear.
  9. C. Rich, "A Lenguage-independent Representation for Standard Program Forms", I.JCAI-81, August 1981.
  10. C. Rich and H. Shrobe, "Initial Report on a Lisp Programmer's Apprentice", MIT/AI/TR-354, MIT Cambridge MA, December 1976.
  11. C. Rich and H. Shrobe, "Initial Report on a Lisp Programmer's Apprentice", IEEE Trans. on Soft. Ena., V4 16, November 1978, pp. 456-467.
  12. T. Teillebaum, "The Cornell Program Synthesizer", Tech. Rep. 79-370, Dept. of Computer Science, Cornell Univ., 1979.
  13. R.C. Waters, "A System for Understandin& Mathemetical FORTRAN Programs", MIT /AIM-368, MIT Cembridge MA, August 1976.
  14. R.C. Waters, "Automatic Analysis of the Loaicel Structure of Programs", MIT/AI/TR-492, (Based on an MIT PhD. Thesis August 1978), December 1978.
  15. R.C. Waters, "A Method for Analyzing Loop Proarams", IEEE Trans. on Software Ena. V5 •3, May 1979.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards