×

定义行为化关系,以便在半自动程序合成中进行推理。 (英语) Zbl 1528.68081号

摘要:在领域特定语言(DSL)中开发和使用自动程序合成机制需要将经验知识和规范转录到正式模型中。由于构建相关的专业知识非常耗时,因此不鼓励软件工程师采用自动合成作为开发范式。新的方法通过从松散规范(如非结构化或半结构化自然语言)中合成程序,有望显著减少人工训练工作量。然而,它们并没有引入逻辑推理的语义,以帮助用户与合成机制进行交互,例如处理被误解的规范。为了弥补这一不足,在这项工作中,我们引入了可行为化关系,这可能不如行为等效严格,因此允许更宽松的规范,但仍然可以在合成域的隐式逻辑解释下进行推理。利用这些关系,我们开发了一个通用贪婪框架,该框架用等效实现迭代替换部分规范;任何行为化关系都可以插入到这个框架中,以合成程序,同时尊重相应逻辑系统下的推理。最后,我们进行了一个案例研究,其中我们定义了一个基于谓词的示例行为化关系,该关系允许我们的框架根据Python代码块与自然语言规范的注释相似性线性组合这些代码块。我们使用产生的机制来证明,隐式推理适用于理解当采用松散的行为化关系时如何调整或陈述新规范。

MSC公司:

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

参考文献:

[1] Allamanis,M。;巴尔,E.T。;德凡布,P。;Sutton,C.,《针对大代码和自然性的机器学习调查》,ACM Compute。调查。,51, 4, 1-37 (2018)
[2] Schmidt,D.C.,模型驱动工程,IEEE计算。Soc.,39,2,25(2006)
[3] Gulwani,S.,《程序综合中的维度》,(第十二届国际ACM SIGPLAN声明性编程原则与实践研讨会论文集(2010),ACM),13-24
[4] Voigtländer,J.,《将归纳程序合成和双向化联系起来的想法》(ACM SIGPLAN 2012年部分评估和程序操作研讨会论文集(2012),ACM),39-42
[5] 迪利格,I。;迪利格,T。;李,B。;McMillan,K。;Sagiv,M.,《通过诱拐合成循环合成程序证明》,国际期刊Softw。技术工具。传输。,19, 5, 535-547 (2017)
[6] Osera,P.-M。;Zdancewic,S.,类型和示例定向程序合成,(ACM SIGPLAN通知,第50卷(2015),ACM),619-630
[7] 王,C。;张,A。;Bodik,R.,从输入输出示例合成高度表达的SQL查询,(第38届ACM SIGPLAN编程语言设计与实现会议论文集(2017)),452-466
[8] 阿鲁尔(Alur,R.)。;Radhakrishna,A。;Udupa,A.,通过分而治之的方法缩放枚举程序合成,(系统构建和分析工具和算法国际会议(2017),Springer),319-336·Zbl 1452.68043号
[9] 惠特尔,J。;哈钦森,J。;Rouncefield,M。;负荷,H。;Heldal,R.,《影响采用模型驱动工程的工具相关问题分类》,Softw。系统。型号。,16, 2, 313-331 (2017)
[10] Akdur,D。;加鲁西,V。;Demirörs,O.,《嵌入式软件行业建模和模型驱动工程实践调查》,J.Syst。建筑。,91, 62-82 (2018)
[11] Shin,E.C。;Allamanis,M。;Brockschmidt,M。;Polozov,A.,《程序合成和学习代码习语的语义解析》,(神经信息处理系统进展(2019),10824-10834
[12] 德赛,A。;Gulwani,S。;辛戈拉尼,V。;Jain,N。;Karkare,A。;马龙,M。;Roy,S.,《使用自然语言的程序合成》,(第38届国际软件工程会议论文集(2016),ACM),345-356
[13] Allamanis,M。;Brockschmidt,M.,Smartpaste:学习适应源代码(2017),arXiv预打印
[14] Yaghmazadeh,N。;Wang,Y。;迪利格,I。;Dillig,T.,Sqlizer:自然语言的查询合成,(《美国计算机学会编程语言会议录》,《美国计算机协会编程语言会议记录》,OOPSLA,第1卷(2017)),1-26
[15] 劳拉·J·D。;Guerra,E.,《模型驱动工程的后验分类:概念、分析和应用》,ACM Trans。柔和。工程方法。,25, 4, 31 (2017)
[16] 郭,Z。;詹姆斯,M。;Justo,D。;周,J。;王,Z。;贾拉(Jhala,R.)。;Polikarpova,N.,通过类型引导的抽象精化进行程序合成,(美国计算机学会编程语言会议录,POPL,第4卷(2019)),1-28
[17] Amnell,T.,《时间自动机的代码合成》(2003),乌普萨拉大学,博士论文
[18] Mischkalla,F。;He,D。;Mueller,W.,《缩小基于uml的建模、仿真和组合硬件/软件系统综合之间的差距》,(欧洲会议与展览设计、自动化和测试。欧洲会议与展览会设计、自动化与测试,日期,2010(2010),IEEE),1201-1206
[19] 林格特,J.O。;Roth,A。;臀部,B。;Wortmann,A.,机器人组件和连接器系统模型驱动工程的代码生成器组成(2015),arXiv预印本
[20] 辛格,R。;Gulwani,S.,通过示例预测编程中的正确程序,(计算机辅助验证国际会议(2015),Springer),398-414
[21] 德夫林,J。;尤萨托,J。;Bhupatiraju,S。;辛格,R。;穆罕默德,A.-r。;Kohli,P.,Robustfill:噪声I/o下的神经程序学习(2017),arXiv预印本
[22] 阿鲁尔(Alur,R.)。;博迪克,R。;朱尼瓦尔,G。;马丁·M·M。;拉戈塔曼,M。;Seshia,美国。;辛格,R。;Solar-Lezama,A。;托拉克,E。;Udupa,A.,语法指导合成,(计算机辅助设计(FMCAD)中的形式化方法,2013(2013),IEEE),1-8
[23] Gulwani,S。;Jha,S。;Tiwari,A。;Venkatesan,R.,《无环程序的合成》,ACM SIGPLAN Not。,46, 6, 62-73 (2011)
[24] 考尔菲尔德,B。;拉贝,M.N。;Seshia,S.A。;Tripakis,S.,语法引导合成有什么可决定的?(2015),arXiv预印本
[25] Loncaric,C。;托拉克,E。;Ernst,M.D.,《快速集合的快速合成》,(第37届ACM SIGPLAN编程语言设计与实现会议论文集(2016)),355-368
[26] Fedyukovich,G。;Bodík,R.,《加速语法引导的不变合成》,(系统构建和分析工具和算法国际会议(2018),施普林格),251-269
[27] 雷诺兹,A。;昆卡,V。;Tinelli,C.公司。;巴雷特,C。;Deters,M.,smt中基于反驳的合成,形式。方法系统。设计。,55, 2, 73-102 (2019) ·Zbl 1427.68051号
[28] Reichel,H.,条件方程在抽象数据类型中的行为有效性,《Contrib.Gen.Algebra》,3,21-24(1984)
[29] Jha,S。;Gulwani,S。;Seshia,S.A。;Tiwari,A.,Oracle-guided component-based program synthesis,(2010年ACM/IEEE第32届国际软件工程会议,第1卷(2010),IEEE),215-224
[30] Srivastava,S。;Gulwani,S。;Foster,J.S.,《从程序验证到程序合成》,ACM Sigplan通告,第45卷,313-326(2010),ACM·Zbl 1312.68068号
[31] Beohar,H。;Mousavi,M.R.,基于特征转换系统的输入输出一致性测试,(第29届美国计算机学会应用计算研讨会论文集(2014),美国计算机学会),1272-1278
[32] Langlois,B。;吉蒂亚,C.-E。;Jouenne,E.,DSL分类,(OOPSLA第七次领域特定建模研讨会(2007))
[33] 蒂西,M。;Cheng,Z.,Coqtl:coq中模型转换的内部DSL,(模型转换理论与实践国际会议(2018),Springer),142-156
[34] 桑德斯,R.R。;Green,G.,《行为等效和数学等效的非等效性》,《实验分析杂志》。行为。,57, 2, 227-241 (1992)
[35] Manna,Z。;Waldinger,R.,演绎程序综合基础,IEEE Trans。柔和。工程师,18,8,674-704(1992)
[36] Giorgi,R.,《自动编程技术现状》(2018)
[37] 毛重,T.A。;Nartker,T.A.,《自动程序合成系统的分类》(1988),内华达大学拉斯维加斯分校计算机科学与电气工程系,技术代表。
[38] 拇指掌,S。;辛哈,S。;新泽西州辛哈尼亚。;Chandra,S.,自动化测试自动化,(2012年第34届国际软件工程会议,2012年第三十四届国际软件工程师会议,ICSE(2012),IEEE),881-891
[39] Joulin,A。;Mikolov,T.,用堆栈增强递归网络推断算法模式,(神经信息处理系统进展(2015)),190-198
[40] Zettlemoyer,L.S。;Collins,M.,《学习从句子到逻辑形式的上下文相关映射》,(《ACL第47届年会和AFNLP第四届国际自然语言处理联合会议论文集》,第2卷(2009年),计算语言学协会),976-984
[41] 刘,H。;Lieberman,H.,Metafor:将故事可视化为代码,(第十届智能用户界面国际会议论文集(2005),ACM),305-307
[42] 李,F。;Jagadish,H.,《为关系数据库构建交互式自然语言接口》,Proc。荷兰VLDB。,8, 1, 73-84 (2014)
[43] Dong,L。;Lapata,M.,《语言到逻辑形式与神经注意》(2016年),arXiv预印本
[44] 林,X.V。;王,C。;Pang博士。;Vu,K。;Ernst,M.D.,《使用递归神经网络从自然语言进行程序合成》(2017),华盛顿大学计算机科学与工程系:华盛顿大学计算机科技与工程系,西雅图,华盛顿州,美国,技术代表UW-CSE-17-03-01
[45] 布内尔,R。;Hausknecht,M。;德夫林,J。;辛格,R。;Kohli,P.,《利用语法和强化学习进行神经程序合成》(2018年),arXiv预印本
[46] Neelakantan,A。;Le,Q.V。;Sutskever,I.,《神经程序员:用梯度下降诱导潜在程序》(2015),arXiv预印本
[47] 里德,S。;De Freitas,N.,《神经编程-解释器》(2015),arXiv预印本
[48] 阿龙,美国。;Sadaka,R。;利维,O。;Yahav,E.,《任意代码生成的结构语言模型》(2019),arXiv预印本
[49] Dalal,D。;Galbraith,B.V.,《评估if-then程序合成的序列到序列学习模型》(2020年),arXiv预印本
[50] Feng,Y。;马丁斯,R。;Van Geffen,J。;迪利格,I。;Chaudhuri,S.,《基于组件的表合并和转换任务合成示例》,ACM SIGPLAN Not。,52, 6, 422-436 (2017)
[51] Feng,Y。;马丁斯,R。;O.巴斯塔尼。;Dillig,I.,使用冲突驱动学习的程序合成,ACM SIGPLAN Not。,53, 4, 420-435 (2018)
[52] 王,X。;迪利格,I。;Singh,R.,《使用抽象精化进行程序合成》,(美国计算机学会关于编程语言的会议记录,POPL,第2卷(2017年)),1-30
[53] 陈,Y。;王,C。;O.巴斯塔尼。;迪利格,I。;Feng,Y.,使用演绎引导的强化学习进行程序合成,(计算机辅助验证国际会议(2020),Springer),587-610·Zbl 1478.68054号
[54] 齐,Z。;朗,F。;Achour,S.公司。;Rinard,M.,《生成和验证补丁生成系统的补丁合理性和正确性分析》(2015年软件测试与分析国际研讨会论文集(2015)),24-36
[55] 长,F。;Rinard,M.,通过学习正确的代码自动生成补丁,(第43届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集(2016)),298-312
[56] Bueno-Soler,J。;Carnielli,W.A.,次协调逻辑的可能平移代数化,布尔。第节。日志。,34, 2, 77-92 (2005) ·兹伯利1117.03035
[57] 罗,L。;Ming,J。;Wu,D。;刘,P。;Zhu,S.,基于语义的模糊处理-弹性二进制代码相似性比较与软件剽窃检测应用,(第22届ACM SIGSOFT国际软件工程基础研讨会论文集(2014),ACM),389-400
[58] 雅各布斯,S。;Kuncak,V.,《走向公理规范的完整推理》,(验证、模型检查和抽象解释国际研讨会(2011),Springer),278-293·Zbl 1317.68117号
[59] 吉·R。;梁,J。;熊,Y。;张,L。;胡忠,交互式程序综合的问题选择,(PLDI(2020)),1143-1158
[60] 阿瓦德,M。;Khanna,R.,支持向量回归,(高效学习机器(2015),Springer),67-80
[61] 黄,J。;Ling,C.X.,《使用AUC和准确性评估学习算法》,IEEE Trans。知识。数据工程,17,3,299-310(2005)
[62] 霍斯默,D.W。;莱梅肖,S。;Sturdivant,R.X.,《应用逻辑回归》,第398卷(2013年),John Wiley&Sons·Zbl 1276.62050号
[63] Judson,T.,《抽象代数:理论与应用》(2014),斯蒂芬·F·奥斯汀州立大学
[64] Väänänen,J.,《二阶逻辑与数学基础》,布尔。符号。日志。,7, 04, 504-520 (2001) ·Zbl 1002.03013号
[65] Bottou,L.,随机梯度下降的大尺度机器学习,(2010年《COMPSTAT学报》,Springer),177-186·兹比尔1436.68293
[66] Domingos,P.,《奥卡姆剃刀在知识发现中的作用》,Data Min.Knowl。发现。,3, 4, 409-425 (1999)
[67] Bird,S。;Loper,E。;Klein,E.,《使用Python进行自然语言处理》(2009),O'reilly Media Inc·Zbl 1187.68630号
[68] 巴赫马尼,B。;乔杜里,A。;Goel,A.,《快速增量和个性化页面排名》(2010),arXiv预打印
[69] 汤,H。;Faloutsos,C。;Pan,J.-Y.,带重启的快速随机行走及其应用,(第六届数据挖掘国际会议,第六届国际数据挖掘会议,ICDM’06(2006),IEEE),613-622
[70] 科尔曼,T.H。;Leiserson,C.E。;Rivest,R.L。;Stein,C.,《算法导论》(2009),麻省理工学院出版社·Zbl 1187.68679号
[71] Rouveirol,C.,《平坦化和饱和:泛化的两种表示变化》,马赫。学习。,14, 2, 219-232 (1994) ·Zbl 0804.68024号
[72] Figueira,S。;戈林,D。;Grimson,R.,《关于if-like逻辑的形式语义》,J.Compute。系统。科学。,76, 5, 333-346 (2010) ·兹比尔1197.03028
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。