×

合成编程。 (英语) Zbl 0557.68014号

摘要:给定所需程序的正式规范,我们的目标是逐步将其转换为可执行代码。我们以自上而下的方式进行——正如“结构化编程”方法所建议的那样。每一步都包括应用一个综合规则,以更详细的方式重写开发程序的一段。如果每个步骤都足够透明以确保正确性,那么该系列中的每个部分程序肯定都与它的前一个程序等价。特别是,保证最终程序满足初始规范。在这篇文章中,我们集中讨论了形成迭代循环的自动策略,给出了基于“不变断言”和“子目标断言”的规则。

MSC公司:

68号01 软件理论的一般主题
PDF格式BibTeX公司 XML格式引用
全文: DOI程序

参考文献:

[1] Allen,F.E.,《程序优化》(Shaw,C.J.,《自动编程年度评论》,5(1969),佩加蒙出版社:牛津佩加蒙出版公司),239-308
[2] 艾伦,F.E。;Cocke,J.,《优化转换目录》(Rustin,R.,《编译器的设计与优化》(1972),普伦蒂斯·霍尔:普伦蒂斯霍尔·恩格尔伍德·克利夫斯,新泽西州),1-30
[3] Arsac,J.J.,《源到源的语法转换和程序操作》,美国计算机学会,22,1,43-54(1979)·Zbl 0388.68006号
[4] Arsac,J.J。;Kodratoff,Y.,《从递归函数中删除递归的一些技术》,ACM Trans。编程语言与系统,4,2,295-322(1982)·兹比尔0547.68009
[5] Balzer,R.M.,《转换实现:示例》,IEEE Trans。软件工程,SE-7,1,3-14(1981)
[6] Balzer,R.M。;Goldman,N。;Wile,D.,关于编程的转换实现方法,(第二届国际软件工程会议论文集。第二届国际软件工程会议论文集,加利福尼亚州旧金山(1976年10月)),337-344
[7] Balzer,R.M。;Goldman,N。;Wile,D.,《程序规范中的非正规性》(第五届国际人工智能联合会议论文集。第五届人工智能国际联合会议论文录,马萨诸塞州剑桥(1977年8月)),389-397
[8] 巴斯托,D.R.,(《基于知识的项目建设》(1979年),爱思唯尔北-荷兰德:爱思唯尔北-霍兰德纽约)
[9] 巴苏,S.K。;Misra,J.,《证明循环程序》,IEEE Trans。软件工程,SE-1,1,76-86(1975)
[10] Bauer,F.L.,《作为进化过程的编程》,(第二届软件工程国际会议论文集。第二届国际软件工程会议论文集,加利福尼亚州旧金山(1976年10月)),223-234·Zbl 0362.68052号
[11] Bauer,M.A.,《示例编程》,《人工智能》,第12、1、1-21页(1979年)·Zbl 0402.68003号
[12] Bibel,W.,语法定向,语义支持的程序合成,人工智能,14,3,243-262(1980)
[13] Biermann,A.W.,《自动编程方法》(Rubinoff,M.;Yovits,M.C.,《计算机进展》,15(1976),学术出版社:纽约学术出版社),1-63
[14] Biermann,A.W.,从示例推断常规Lisp程序,IEEE Trans。系统、人与控制论,SMC-8585-600(1978)·Zbl 0383.68014号
[15] Biermann,A.W.,《自然语言编程》(Proceedings NATO Adv.Studies Institute on Computer Program Systems Methodologies,Proceeding NATO Adv Studies institute on-Computer Program Systems-Methodoologies,Bonas,France,1981年9月),第335-368页
[16] 比尔曼,A.W。;鲍姆,R.I。;Petry,F.E.,《加速从轨迹合成程序》,IEEE Trans。计算机,C-24122-136(1975)·Zbl 0297.68017号
[17] 比尔曼,A.W。;Krishnaswamy,R.,从示例计算构建程序,IEEE Trans。软件工程,SE-2,3,141-153(1976)·Zbl 0352.68036号
[18] 比格斯塔夫,T.J。;Johnson,D.L.,《设计导向的程序综合》(技术报告77-02-01(1977),华盛顿大学计算机科学系:华盛顿大学西雅图分校计算机科学系)
[19] Blikle,A.,《走向数学结构化编程》(Neuhold,E.J.,《编程概念的形式化描述》(1978),北荷兰人:北荷兰阿姆斯特丹),9.1-9.19·Zbl 0377.00016号
[20] Brown,R.H.,《数值计算机程序的自动合成》,(第七届国际人工智能联合会议论文集。第七届人工智能国际联合会议论文,不列颠哥伦比亚省温哥华(1981年8月)),998-1003
[21] 布罗伊,M。;Pepper,P.,作为正式活动的程序开发,IEEE Trans。软件工程,SE-7,1,14-22(1981)·Zbl 0447.68005号
[22] 布坎南,J.R。;Luckham,D.C.,《关于程序构建自动化》(备忘录AIM-236(1974),斯坦福大学人工智能实验室:人工智能实验室,斯坦福大学,加利福尼亚州斯坦福大学)
[23] R.M.伯斯托尔。;Darlington,J.,开发递归程序的转换系统,J.ACM,24,1,44-67(1977)·Zbl 0343.68014号
[24] Clark,K.L.,《逻辑程序的综合与验证》(研究报告DOC 81/36(1981),帝国理工学院计算系:英国伦敦帝国理工大学计算系)
[25] 科克,J。;Kennedy,K.W.,《减少操作员强度的算法》,美国计算机学会通讯,20,11,850-856(1977)·Zbl 0361.68030号
[26] 康威,R。;Gries,D.(《程序设计导论:结构化方法》(1975),温思罗普:温思罗普·剑桥,马萨诸塞州)
[27] O.J.达尔。;Dijkstra,E.W。;霍尔,C.A.R.,(结构化程序设计(1972),学术出版社:伦敦学术出版社)·Zbl 0267.68001号
[28] Darlington,J.,《程序转换在程序合成中的应用》(IRIA关于证明和改进程序的学术讨论会(1975年),Arc-et-Senans:Arc-et-Senans France),133-144
[29] Darlington,J.,《实验程序转换和合成系统》,人工智能,16,1,1-46(1981)
[30] J.达林顿。;Burstall,R.M.,《自动改进程序的系统》,《信息学报》,6,1,41-60(1976)·Zbl 0323.68008号
[31] Darlington,J.L.,《二阶逻辑中的自动程序综合》(Advance Papers Third International Joint Conference on Artificial Intelligence),第三届国际人工智能联合会议,加州斯坦福(1973年8月),479-485
[32] Degli Antoni,G。;Miglioli,P.A。;Ornaghi,M.,自上而下的程序综合方法,(程序设计研讨会,程序设计研讨会),法国巴黎(1974年4月),88-108·Zbl 0296.68017号
[33] Dershowitz,N.(The Evolution of Programs(1983),Birkhäuser:Birkháuser马萨诸塞州波士顿)·Zbl 0642.68002号
[34] Dershowitz,N.,《使用重写系统的计算》,信息和控制; Dershowitz,N.,《使用重写系统的计算》,信息和控制·Zbl 0584.68020号
[35] 北卡罗来纳州德肖维茨。;Manna,Z.,《程序的演变:自动程序修改》,IEEE Trans。软件工程,SE-3,6,377-385(1977)·Zbl 0361.68024号
[36] 北卡罗来纳州德肖维茨。;Manna,Z.,程序注释推理规则,IEEE Trans。软件工程,SE-7,2207-222(1981)·Zbl 0463.68023号
[37] Dijkstra,E.W.,《程序正确性问题的建设性方法》,BIT,8,3,174-186(1968)·Zbl 0167.46002号
[38] Dijkstra,E.W.(编程学科(1976),普伦蒂斯·霍尔:普伦蒂斯霍尔·恩格尔伍德·克利夫斯,新泽西州)·Zbl 0368.68005号
[39] Duran,J.W.,《循环不变量和自动程序合成的研究》(博士论文(1975),德克萨斯大学:德克萨斯州奥斯汀大学),报告。SESLTR-12,软件工程与系统实验室
[40] Feather,M.S.,《协助程序转换的系统》,ACM Trans。编程语言与系统,4,1,1-20(1982)·Zbl 0479.68014号
[41] Floyd,R.W.,为程序赋值,(应用数学会议论文集,19(1967)),19-32,普罗维登斯,RI·兹比尔0189.50204
[42] Follett,R.,《带副作用的递归函数综合》,《人工智能》,第13期,第175-200页(1980年)·Zbl 0442.68098号
[43] Gerhart,S.L.,Correctiness-preserving program transformations,(第二届美国计算机学会编程语言原理研讨会论文集。第二届ACM编程语言原理会议论文集,加利福尼亚州帕洛阿尔托(1975年1月)),54-66·Zbl 0361.68013号
[44] Goldberg,P.C.,《自动编程》(Proceedings Fourth Informatik Symposium.第四次信息研讨会论文集,West-Germany Wilbad(1974年9月),347-361·兹比尔0302.68034
[45] Goto,S.,《自然演绎证明的程序综合》,(第六届国际人工智能联合会议论文集。第六届人工智能国际联合会议论文,日本东京(1979年8月)),339-341
[46] Green,C.C.,《PSI程序综合系统的设计》,(第二届软件工程国际会议论文集。第二届国际软件工程会议论文集,加利福尼亚州旧金山(1976年10月)),4-18
[47] Gries,D.,《结构化编程——对Smolian的回复》,美国通信协会,17,11,655-657(1974)
[48] Gries,D.(程序设计科学(1981),Springer-Verlag:Springer-Verlag纽约)·Zbl 0472.68003号
[49] Hardy,S.,《合成Lisp语言示例功能,(第四届国际人工智能联合会议预告文件。第四届人工智能国际联合会议预谋文件,苏联第比利斯(1975年9月)),240-245
[50] Hayes-Roth,F。;Klahr,P。;Mostow,D.J.,《知识获取、知识提炼和知识编程》(技术报告R-2540-NSF(1980),兰德公司)
[51] Hoare,C.A.R.,《算法63:分区》,美国通信协会,4,7,321(1961)
[52] Hoare,C.A.R.,《计算机编程的公理基础》,美国计算机学会,12,10,583(1969)·Zbl 0179.23105号
[53] Hogger,C.J.,《逻辑程序的推导》,J.ACM,28,2,372-392(1981)·Zbl 0464.68021号
[54] Jouannaud,J.P。;Guiho,G.,《交互式系统的函数推断》(Hayes,J.E.;Michie,D.;Mikulich,L.I.,《机器智能9:机器专业知识和人机界面》(1979),Ellis Horwood:Ellis Holwood Chicester)
[55] Jouannaud,J.P。;Kodratoff,Y.,自动构建口齿不清程序通过从其输入输出行为合成的函数的转换,Internat。J.政策分析和信息系统,4331-358(1980)
[56] Kant,E.,(程序综合效率(1981),麻省理工学院研究出版社:麻省安娜堡大学研究出版社)
[57] Knuth,D.E.,带go to语句的结构化编程,计算调查,6,4,261-301(1974)·Zbl 0301.68014号
[58] Kott,L.,《展开/折叠程序转换》(Rapport,155(1982),Inst.Nat.de Recherche en Informatique et en Automatique,Le Chesnay:Inst.Nat de Rechetche en Informationque et enAutomati奎,法国勒切斯奈)·Zbl 0577.68034号
[59] Long,W.J.,程序作者,(博士论文(1977),麻省理工学院:麻省理学院剑桥分校,马萨诸塞州),报告。LCS/TR-187型
[60] Loveman,D.B.,《通过源到源转换改进程序》,J.ACM,24,1,121-145(1977)·Zbl 0359.68016号
[61] Luckham,D.C。;Buchanan,J.R.,包含条件语句的程序的自动生成,(人工智能和行为模拟会议论文集。人工智能和模拟行为会议论文集,英国苏塞克斯(1974年7月)),102-126
[62] Manna,Z.,部分正确性的数学理论,计算机与系统科学杂志,5,3,239-252(1971)·Zbl 0215.55905号
[63] Manna,Z。;Waldinger,R.J.,《程序综合中的知识和推理》,人工智能,6,2,175-208(1975)·Zbl 0303.68012号
[64] Manna,Z。;Waldinger,R.J.,《合成:梦想》程序,IEEE Trans。软件工程,SE-5,4294-328(1979)·Zbl 0416.68013号
[65] Manna,Z。;Waldinger,R.J.,程序综合的演绎方法,ACM Trans。编程语言与系统,2,1,90-121(1980)·Zbl 0468.68009号
[66] 莫里斯,J.H。;韦格布雷特(Wegbreit,B.),《次级目标诱导》(Subgoal induction),美国陆军司令部(Comm.ACM),第20、4、209-222页(1977年)·Zbl 0349.68007号
[67] Paige,R.,转换编程——算法和系统的应用,(第十届编程语言原理研讨会论文集。第十届程序设计语言原理研讨会会议论文集,德克萨斯州奥斯汀(1983年1月)),73-87
[68] Phillips,J.V.,《利用多种知识源从痕迹进行程序推断》,(第五届国际人工智能联合会议论文集。第五届人工智能国际联合会议论文录,马萨诸塞州剑桥(1977年8月),812
[69] 菲利普斯,J.V。;Green,C.C.,《走向自我描述的编程环境》(技术报告(1980),计算机科学部,系统控制公司:计算机科学部、系统控制公司,加利福尼亚州帕洛阿尔托)
[70] Prywes,N.S.,计算机程序的自动生成,(Rubinoff,M.;Yovits,M.C.,《计算机进展》,16(1977),学术出版社:纽约学术出版社,57-125
[71] Sacerdoti,E.D.,《计划的非线性本质》,(第四届国际人工智能联合会议预告文件。第四届人工智能国际联合会议预谋文件,苏联第比利斯(1975年9月)),206-214
[72] Sato,M.,《走向程序综合的数学理论》,(第六届国际人工智能联合会议论文集。第六届人工智能国际联合会议论文录,日本东京(1979年8月)),757-762
[73] Scherlis,W.L.,表达式程序和程序推导,(斯坦福大学计算机科学系博士论文(1980):加利福尼亚州斯坦福大学计算机系)
[74] Schwartz,J.T.,《正确的程序技术》(Rept.NSO-12(1977),Courant Institute:Courant Institute New York Univ)
[75] Shapiro,E.Y.,(算法程序调试(1983),麻省理工学院出版社:麻省理学院出版社剑桥)
[76] 肖,D。;斯瓦图特,W。;Green,C.C.,推断口齿不清示例问题程序,(第四届国际人工智能联合会议预告文件。第四届人工智能国际联合会议预谋文件,苏联第比利斯(1975年9月)),260-267
[77] Siklossy,L.,《从属性和疯狂的启发式合成程序》(Proceedings Third Texas Conference on Computing Systems),第三届德克萨斯州计算系统会议论文集,德克萨斯州奥斯汀(1974年11月),5.2.1-5.2.5
[78] Siklossy,L。;Sykes,D.A.,《从示例问题自动合成程序》,(第四届人工智能国际联合会议预告文件。第四届国际人工智能联合会议预谋文件,苏联第比利斯(1975年9月)),268-273
[79] Smith,D.R.,综合口齿不清来自实例的程序,(程序建设国际研讨会论文集。程序建设国际研讨会论文集,法国博纳斯(1980年9月))
[80] Standish,T.A.,《关于程序合成机制的观察和假设》(报告编号:2780(1973),博尔特、贝拉内克和纽曼:博尔特、伯拉内克与纽曼剑桥,马萨诸塞州)
[81] 斯坦迪什,T.A。;哈里曼特区。;Kibler,D.F。;Neighbors,J.M.,欧文项目转换目录,(代表(1976),加州大学信息与计算机科学系:加州大学欧文分校信息与计算机科学系)
[82] Steinberg,L.,《混合倡议程序规范对话中的问题排序》(Proceedings First National Conference on Artificial Intelligence),第1届全国人工智能会议,加利福尼亚州斯坦福市(1980年8月),第61-63页
[83] Summers,P.D.,方法论口齿不清示例程序构造,J.ACM,24,1,161-175(1977)·兹伯利0343.68013
[84] Sussman,G.J.,(技能获得的计算机模型(1975),美国爱思唯尔:美国爱思惟尔纽约)
[85] 泰特尔曼,W。,中间人施乐研究中心参考手册(1974)
[86] Ulrich,J.W。;Moll,R.,《类比程序合成》(Proceedings ACM Symp.on Artificial Intelligence and Programming Languages.Proceeding ACM Symm.on Arthuical Intelligation and Programmming Languages,纽约州罗切斯特市(1977年8月)),第22-28页
[87] 费耶·维尔曼。,帕佩:一个在线系统,用于从其轨迹集推断程序,(第七届国际人工智能联合会议论文集。第七届人工智能国际联合会议论文录,不列颠哥伦比亚省温哥华(1981年8月)),1004-1009
[88] Waldinger,R.J.,《使用定理证明自动构建程序》,(博士论文(1969),卡内基梅隆大学:卡内基梅隆大学匹兹堡分校,宾夕法尼亚州)
[89] Waldinger,R.J.,《同时实现多个目标》(Elcock,E.W.;Michie,D.,《机器智能8:知识的机器表示》(1977),Ellis Horwood:Ellis Holwood Chichester),94-136
[90] Waldinger,R.J。;莱维特,K.N.,《程序推理》,人工智能,5,3,235-316(1974)·Zbl 0293.68021号
[91] Wand,M.,《基于连续性的程序转换策略》(Rept.61(1977),印第安纳大学计算机科学系:印第安纳大学布鲁明顿分校计算机科学系)·Zbl 0429.68028号
[92] Warren,D.H.D.,《生成有条件的计划和程序》,(人工智能和行为模拟会议论文集。人工智能和模拟行为会议论文集,苏格兰爱丁堡(1976年7月),344-354
[93] Wegbreit,B.,面向目标的程序转换,IEEE Trans。软件工程,SE-2,69-80(1976)·Zbl 0352.68033号
[94] Wilber,B.M.,Aqlisp公司参考手册,(技术说明118(1976),人工智能中心。斯坦福研究所:人工智能中心。斯坦福研究所(加利福尼亚州门罗公园)
[95] Wirth,N.,《逐步细化的程序开发》,美国陆军司令部司令部,14,4,221-227(1971)·Zbl 0214.43005号
[96] Wirth,N.,(《系统编程:导论》(1973),普伦蒂斯·霍尔:普伦蒂斯霍尔·恩格尔伍德·克利夫斯,新泽西州)
[97] Wirth,N.,《结构良好程序的构成》,《计算调查》,6,4,247-259(1974)·Zbl 0301.68013号
[98] Wood,R.J.,计算机辅助程序合成,(代表TR-861(1980),马里兰大学)
[99] Amarel,S.,《程序形成问题中的表示与建模》(Meltzer,B.;Michie,D.,《机器智能》,6(1971),爱丁堡大学出版社:爱丁堡州立大学出版社),411-466·Zbl 0276.68007号
[100] A.邦迪。;Welham,B.,《使用元级推理在代数操作中选择性应用多重重写集》,《人工智能》,第16、2、189-212页(1981年)
[101] Hsiang,J.,自动化定理证明和程序生成主题,(博士论文(1982年),伊利诺伊大学:伊利诺伊大学厄巴纳分校)
[102] 基什内尔,C。;基什内尔,H。;Jouannaud,J.P.,代数操作作为符号二叉树中线性方程的统一和匹配策略,(第七届国际人工智能联合会议论文集。第七届人工智能国际联合会议论文集中,不列颠哥伦比亚省温哥华(1981年8月)),1016-1023
[103] Mostow,D.J.,《任务启发法到操作程序的机械转换》(博士论文(1981),卡内基梅隆大学:卡内基梅隆大学匹兹堡分校,宾夕法尼亚州)
[104] Murray,N.V.,完全非子句定理证明,人工智能,18,1,67-85(1982)·兹伯利0472.68053
[105] Partsch,H。;Steinbrüggen,R.,程序转换系统,计算调查,15,3,199-236(1982)
[106] Smith,D.R.,《派生的先决条件及其在程序综合中的应用》,(第六届自动扣减会议论文集。第六届自动化扣减会议文献集,纽约(1982年6月),172-193·Zbl 0481.68083号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。