research-article

The Programmer's Apprentice: A Research Overview

Published:01 November 1988Publication History
Skip Abstract Section

Abstract

The long-term goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. The authors present their vision of the Programmer's Apprentice, the principles and techniques underlying it, and their progress toward it. The primary vehicle for this exposition is three scenarios illustrating the use of the Apprentice in three phases of the programming task: implementation, design, and requirements. The first scenario is taken from a completed working prototype. The second and third scenarios are the targets for prototype systems currently under construction

References

  1. 1. C. Rich and R.C. Waters, "Automatic Programming: Myths and Prospects," Computer , Vol. 21, No. 8, Aug. 1988, pp. 40-51. Google ScholarGoogle Scholar
  2. 2. E. Soloway and K. Ehrlich, "Empirical Studies of Programming Knowledge," IEEE Trans. Software Eng., Vol. 10, No. 5, Sept. 1984, pp. 595-609.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3. K.E. Huff and V.R. Lesser, "A Plan-Based Intelligent Assistant That Supports the Process of Programming," Proc. Third Symp. Software Development Environments, ACM, New York, Nov. 1988. Google ScholarGoogle Scholar
  4. 4. C. Rich, "A Formal Representation for Plans in the Programmer's Apprentice," Proc. Seventh Int'l Joint Conf. Artificial Intelligence, Morgan Kaufmann, Los Altos, Calif., 1981, pp. 1,044-1,052.Google ScholarGoogle Scholar
  5. 5. L.M. Wills, "Automated Program Recognition," Tech. Report 904 (master's thesis), Artificial Intelligence Lab, Massachusetts Inst. of Technology, Sept. 1986. Google ScholarGoogle Scholar
  6. 6. C. Rich, "The Layered Architecture of a System for Reasoning About Programs," Proc. Ninth Int'l Joint Conf. Artificial Intelligence, Morgan Kaufmann, Los Altos, Calif., 1985, pp. 540-546.Google ScholarGoogle Scholar
  7. 7. R.C. Waters, "The Programmer's Apprentice: A Session with KBEmacs," IEEE Trans. Software Eng., Vol. 11, No. 11, Nov. 1985, pp. 1,296-1,320. Google ScholarGoogle Scholar
  8. 8. C. Green and D.R. Barstow, "On Program Synthesis Knowledge," Artificial Intelligence , Vol. 10, No. 3, Nov. 1978, pp. 241-279.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9. C. Rich and R.C. Waters, "The Programmer's Apprentice: A Program Design Scenario," Memo 933A, Artificial Intelligence Lab, Massachusetts Inst. of Technology, Nov. 1987. Google ScholarGoogle Scholar
  10. 10. C. Rich, R.C. Waters, and H.B. Reubenstein, "Toward a Requirements Apprentice," Proc. Fourth Int'l Workshop Software Specifications and Design, IEEE-CS Press, Los Alamitos, Calif., Apr. 1987, pp. 79-86.Google ScholarGoogle Scholar
  11. 11. J.M. Wing, "A Study of 12 Specifications of the Library Problem," IEEE Software, Vol. 5, No. 4, July 1988, pp. 66-76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12. R.I. Kuper, "Automated Techniques for the Localization of Software Bugs," Tech. Report 1053 (master's thesis), Artificial Intelligence Lab, Massachusetts Inst. of Technology, May 1988. Google ScholarGoogle Scholar
  13. 13. R.C. Waters, "Program Translation Via Abstraction and Reimplementation," IEEE Trans. Software Eng., Vol. 14, No. 8, Aug. 1988, pp. 1,207-1,228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14. R.C. Waters, "Using Obviously Synchronizable Series Expressions Instead of Loops," Proc. 1988 IEEE Int'l Conf. Computer Languages, IEEE-CS Press, Los Alamitos, Calif., Oct. 1988.Google ScholarGoogle Scholar

Index Terms

  1. The Programmer's Apprentice: A Research Overview

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image Computer
                    Computer  Volume 21, Issue 11
                    November 1988
                    78 pages
                    ISSN:0018-9162
                    Issue’s Table of Contents

                    Copyright © Copyright © 1988 IEEE. All Rights Reserved.

                    Publisher

                    IEEE Computer Society Press

                    Washington, DC, United States

                    Publication History

                    • Published: 1 November 1988

                    Qualifiers

                    • research-article
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!