纳鸿·德肖维茨 合成编程。 (英语) Zbl 0557.68014号 Artif公司。智力。 25, 323-373 (1985). 摘要:给定所需程序的正式规范,我们的目标是逐步将其转换为可执行代码。我们以自上而下的方式进行——正如“结构化编程”方法所建议的那样。每一步都包括应用一个综合规则,以更详细的方式重写开发程序的一段。如果每个步骤都足够透明以确保正确性,那么该系列中的每个部分程序肯定都与它的前一个程序等价。特别是,保证最终程序满足初始规范。在这篇文章中,我们集中讨论了形成迭代循环的自动策略,给出了基于“不变断言”和“子目标断言”的规则。 引用于1文件 MSC公司: 68号01 软件理论的一般主题 关键词:综合规划;形式规范;结构化程序设计;迭代循环;不变断言;子目标断言 PDF格式BibTeX公司 XML格式引用 \textit{N.Dershowitz},阿蒂夫。智力。25323--373(1985;Zbl 0557.68014) 全文: 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的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。