×

谓词编程:交互式合成的形式化模型。 (英语) Zbl 1435.68067号

摘要:程序合成是从一个规范计算实现它的程序的问题。合成问题的新的和流行的变体接受人类合成用户更容易提供的格式的规范:输入-输出示例对、类型信息和部分逻辑规范。这些都是部分规范格式,只编码程序预期行为的一小部分,留下许多匹配的程序。这种向部分规范的转换也改变了用户的工作模式,用户现在可以提供额外的规范,直到他们对合成结果满意为止。因此,合成成为一个迭代、交互的过程。我们提出了一个交互式综合的形式化模型,该模型由程序上的谓词抽象域参数化。抽象域用于描述规范的迭代细化和候选程序空间的缩减。我们通过说明示例(最常见的规范工具)不足以区分程序,即使将其用作完整规范,从而激发了通过谓词建立通用反馈模型的需求。我们使用形式化模型来描述几个真实世界合成器的行为。此外,我们提出了终止合成会话的两个条件,一个条件仅与可用部分规范的属性有关,另一个条件也与用户的行为有关。最后,我们展示了实现用户意图的条件,并展示了当会话明显失败时回溯的局限性。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Albarghouthi,A.,Gulwani,S.,Kincaid,Z.:递归程序综合。载:国际计算机辅助验证会议,第934-950页。施普林格(2013)
[2] 阿鲁尔(Alur,R.)。;博迪克,R。;朱尼瓦尔,G。;马丁,Mm;拉戈塔曼,M。;Seshia,Sa;辛格,R。;Solar-Lezama,A。;托拉克,E。;Udupa,A.,句法引导合成。可靠的软件,系统。工程,40,1-25(2015)·doi:10.1111/年12116
[3] Alur,R.、Fisman,D.、Singh,R.和Solar-Lezama,A.:Sygus-comp 2016:结果和分析。arXiv预印arXiv:1611.07627(2016)
[4] Alur,R.,Radhakrishna,A.,Udupa,A.:通过分治缩放枚举程序合成。摘自:系统构建和分析工具和算法国际会议,第319-336页。施普林格(2017)·Zbl 1452.68043号
[5] Anton,T.:Xpath-wrapper归纳法,通过推广树遍历模式。收录:Lernen,Wissensentdeckung und Adaptivitt(LWA)2005,《地理信息研讨会》,Saarbrcken,第126-133页(2005)
[6] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。收录于:POPL,第238-252页(1977年)
[7] 德拉赫斯勒-科恩,达纳;沙龙·肖姆;Yahav,Eran,《抽象示例合成》,计算机辅助验证,254-278(2017),Cham:Springer International Publishing,Cham·Zbl 1494.68056号
[8] 马里兰州恩斯特;珀金斯,Jh;郭,Pj;Mccamant,S。;帕切科,C。;Tschantz女士;Xiao,C.,用于可能不变量的动态检测的daikon系统,科学。计算。程序。,69, 1, 35-45 (2007) ·Zbl 1161.68390号 ·doi:10.1016/j.scico.2007.01.015
[9] Feng,Y.,Martins,R.,Wang,Y.Dillig,I.,Reps,T.:复杂原料药的成分合成。摘自:2017年POPL第44届ACM SIGPLAN-SIGACT编程语言原则研讨会会议记录(2017)·Zbl 1380.68108号
[10] Feser,J.K.,Chaudhuri,S.,Dillig,I.:从输入-输出示例合成数据结构转换。收录于:ACM SIGPLAN通知,ACM,第50卷,第229-239页(2015)
[11] 科马克·弗拉纳根;Leino,K.Rustan M.,Houdini,ESC/Java注释助理,计算机科学课堂讲稿,500-517(2001),柏林,海德堡:施普林格-柏林-海德堡,柏林·Zbl 0977.68671号
[12] Galenson,J.、Reames,P.、Bodik,R.、Hartmann,B.、Sen,K.:代码提示:代码段的动态和交互式合成。摘自:《第36届软件工程国际会议论文集》,ACM,第653-663页(2014)
[13] Gulwani,S.:使用输入输出示例自动化电子表格中的字符串处理。摘自:第38届美国计算机学会SIGPLAN-SIGACT编程语言原理研讨会论文集(2011年,美国纽约州纽约市),POPL'11,美国计算机学会,第317-330页·Zbl 1284.68700号
[14] Gulwani,S.:实例综合:交互模型和算法。摘自:科学计算符号和数字算法(SYNASC),2012年第14届国际研讨会,IEEE,第8-14页(2012)
[15] Gvero,T.,Kuncak,V.,Kuraj,I.,Piskac,R.:使用类型和重量完成。收录于:ACM SIGPLAN通知,ACM,第48卷,第27-38页(2013)
[16] 希格曼,G.,抽象代数中的可除性排序,Proc。伦敦。数学。学会,3,1,326-336(1952)·Zbl 0047.03402号 ·doi:10.1112/plms/s3-2.1.326
[17] Jha,S。;Seshia,Sa,《通过归纳学习实现形式合成的理论》,《信息学报》。,54, 693-726 (2017) ·Zbl 1380.68124号 ·doi:10.1007/s00236-017-0294-5
[18] Kruskal,Jb,Well拟序,树定理和vazsonyi猜想,Trans。美国数学。Soc.,95,2,210-225(1960)·兹比尔0158.27002
[19] Landauer,J.,Hirakawa,M.:视觉awk:通过演示进行文本处理的模型。收录于:vl,第267-274页(1995年)
[20] Lau,Tessa;史蒂文·沃尔夫曼(Steven A.Wolfman)。;佩德罗·多明戈斯;丹尼尔·维尔德(Daniel S.Weld),《使用SMARTedit学习重复文本编辑程序,你的愿望就是我的命令》(Learning Repitiative Text-Editing Procedures with SMARTeedit,Your Wish is My Command),209-XI(2001)
[21] Lau,T。;萨沃夫曼;多明戈斯,P。;Weld,Ds,使用版本空间代数进行演示编程,Mach。学习。,53, 1, 111-156 (2003) ·Zbl 1076.68552号 ·doi:10.1023/A:1025671410623
[22] Le,V.,Gulwani,S.:FlashExtract:通过示例提取数据的框架。收录:O'Boyle,M.F.P.,Pingali,K.(编辑)《第35届编程语言设计与实现会议论文集》,ACM,P.55(2014)
[23] Le,V.,Perelman,D.,Polozov,O.,Raza,M.,Udupa,A.,Gulwani,S.:交互式程序综合(2017)
[24] Löding,C.,Madhusudan,P.,Neider,D.:合成的抽象学习框架。摘自:国际系统构建和分析工具和算法会议,第167-185页。斯普林格(2016)
[25] Omari,A.、Shoham,S.、Yahav,E.:网络爬虫的交叉监督合成。摘自:第38届国际软件工程会议记录,2016年ICSE,美国德克萨斯州奥斯汀,2016年5月14日至22日,第368-379页(2016)
[26] Peter-Michael Osera;Zdancewic,Steve,类型和示例定向程序合成,ACM SIGPLAN通知,50,6,619-630(2015)·doi:10.145/2813885.2738007
[27] Peleg,H。;伊扎基,S。;Shoham,S。;迪利格,I。;Palsberg,J.,《合成、验证、模型检查和抽象解释的基于抽象的交互模型》,382-405(2018),Cham:Springer,Cham·兹比尔1446.68034
[28] Peleg,H.,Shoham,S.,Yahav,E.:D3:数据驱动析取抽象。摘自:验证、模型检查和抽象解释,第185-205页。斯普林格(2016)·Zbl 1475.68291号
[29] Peleg,H.,Shoham,S.,Yahav,E.:编程不仅仅是通过示例。摘自:《第40届国际软件工程会议论文集》,ACM,第1114-1124页(2018)
[30] Perelman,D.,Gulwani,S.,Ball,T.,Grossman,D.:部分表达式的类型定向补全。收录于:ACM SIGPLAN通知,ACM,第47卷,第275-286页(2012年)
[31] 纳迪亚·波里卡波娃;伊凡·库拉吉(Ivan Kuraj);Solar-Lezama,Armando,《基于多态性精炼类型的程序合成》,ACM SIGPLAN Notices,51,6,522-538(2016)·doi:10.1145/2980983.2908093
[32] 波兰索夫,O。;Gulwani,S.,Flashmeta:归纳程序合成的框架,ACM SIGPLAN通知,50,10,107-126(2015)·数字对象标识代码:10.1145/2858965.2814310
[33] 韦塞林·雷切夫;马丁·维切夫(Martin Vechev);Yahav,Eran,《使用统计语言模型完成代码》,ACM SIGPLAN Notices,49,6,419-428(2014)·doi:10.145/2666356.2594321
[34] Singh,R.:Blinkfill:语法字符串转换的半监督编程示例
[35] Solar-Lezama,A.,《素描程序合成》(2008),安娜堡:ProQuest,安娜堡
[36] 阿曼多·索拉勒扎马;克里斯托弗·格兰特·琼斯(Christopher Grant Jones);Bodik,Rastislav,绘制并发数据结构,ACM SIGPLAN通知,43,6,136(2008)·doi:10.1145/1379022.1375599
[37] Solar-Lezama,A。;Tancau,L。;博迪克,R。;Seshia,S。;Saraswat,V.,有限程序的组合草图绘制,ACM SIGOPS Oper。系统。修订版,40、5、404-415(2006)·数字对象标识代码:10.1145/1168917.1168907
[38] Udupa,A。;Raghavan,A。;小德什穆赫;Mador-Haim,S。;马丁,Mm;Alur,R.,Transit:使用concolic片段指定协议,ACM SIGPLAN通知,48,6,287-296(2013)·doi:10.1145/2499370.2462174
[39] 王成龙;Alvin Cheung;Bodik,Rastislav,从输入输出示例合成高度表达的SQL查询,ACM SIGPLAN Notices,52,6,452-466(2017)·doi:10.1145/3140587.3062365
[40] Witten,I.H.,Mo,D.:电话:从示例中学习文本编辑任务。收录:看我在做什么,第183-203页。麻省理工学院出版社(1993)
[41] Wu,S.,Liu,J.,Fan,J.:通过学习和分组相结合的方式自动提取web内容。摘自:《第24届万维网国际会议论文集》,ACM,第1264-1274页(2015)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。