Artificial intelligence and software engineering: The Programmer's Apprentice project

ACM '84 Pub Date : 1900-01-01 DOI:10.1145/800171.809600
C. Rich
{"title":"Artificial intelligence and software engineering: The Programmer's Apprentice project","authors":"C. Rich","doi":"10.1145/800171.809600","DOIUrl":null,"url":null,"abstract":"An overview of the goals, methods and progress of the Programmer's Apprentice Project:\n 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.\n 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.","PeriodicalId":218138,"journal":{"name":"ACM '84","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM '84","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800171.809600","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

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.
人工智能和软件工程:程序员学徒项目
程序员学徒项目的目标、方法和进展概述:该项目的目标是发展一种人工智能理论,说明专业程序员如何分析、综合、修改、解释、验证和记录程序,并将该理论应用于编程过程的自动化。认识到完全自动化编程的长期目标还很遥远,我们目前正集中精力研究开发一种程序员的智能计算机助手,称为程序员的学徒。我们的主要观察之一是,专业程序员严重依赖于大量的标准实现方法和程序形式。因此,研究的核心部分是确定和编纂这些标准格式。为此,我们开发了一种独立于编程语言的形式体系,称为计划演算,其中这些标准形式可以以规范和抽象的方式写下来,并由自动编程系统使用。使用这种形式已经编译了一个包含数百个平面图的初始库。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信