×

从重写逻辑到编程语言语义,再到程序验证。 (英语) Zbl 1321.68337号

Martí-Oliet,Narciso(编辑)等人,《逻辑、重写和并发》。纪念何塞·梅塞盖尔65岁生日的文章。查姆:施普林格(ISBN 978-3-319-23164-8/pbk;978-3-3169-23165-5/电子书)。计算机科学讲座笔记9200,598-616(2015)。
摘要:重写逻辑已被证明是一种很好的形式主义,可以定义编程语言的可执行语义(并发或非并发),然后轻松地为定义的语言派生出形式化分析工具,如模型检查器。本文概述了在重写逻辑语义框架(mathbb{K})上下文中获得的最新结果,例如大型编程语言(如C、Java、JavaScript、Python、,以及演绎程序验证技术,它允许我们使用通用的验证基础设施验证这些语言中的程序。
关于整个系列,请参见[Zbl 1319.68011号].

MSC公司:

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

参考文献:

[1] ISO/IEC:编程语言-C,ISO/IEC WG14,ISO 9899:2011,2011年12月。http://www.open-std.org/JTC1/SC22/WG14/www/standards网站
[2] 科恩,E。;Dahlweid,M。;Hillebrand,M。;Leinenbach,D。;莫斯卡尔,M。;桑顿,T。;舒尔特,W。;托比,S。;Berghofer,S。;Nipkow,T。;城市,C。;Wenzel,M.,《VCC:验证并发C的实用系统》,《高阶逻辑中的定理证明》,23-42(2009),海德堡:斯普林格·doi:10.1007/978-3642-03359-9_2
[3] 库克,P。;Kirchner,F。;北科斯马托夫。;普雷沃斯托,V。;Signoles,J。;Yakobowski,B。;Eleftherakis,G。;Hinchey,M。;Holcombe,M.,Frama-C,《软件工程与形式方法》,233-247(2012),海德堡:斯普林格·doi:10.1007/978-3-642-33826-7_16
[4] Meseguer,J.,《作为并发统一模型的条件重写逻辑》,Theoret。计算。科学。,96, 1, 73-155 (1992) ·Zbl 0758.68043号 ·doi:10.1016/0304-3975(92)90182-F
[5] Verdejo,A.,Martí-Oliet,N.:Maude中的可执行结构操作语义。马德里Complutense大学信息与计划部,技术报告134-03(2003)·Zbl 1088.68095号
[6] Verdejo,A。;Martí-Oliet,N.,Maude中的可执行结构操作语义,J.逻辑代数程序。,67, 1-2, 226-293 (2006) ·Zbl 1088.68095号 ·doi:10.1016/j.jrap.2005.09.008
[7] Clavel,M。;杜兰,F。;埃克,S。;林肯,P。;新墨西哥州马丁·奥列特。;梅塞盖尔,J。;Talcott,C.,《关于莫德的一切——高性能逻辑框架》(2007),海德堡:施普林格出版社·Zbl 1115.68046号
[8] 卡恩,G。;法国勃兰登堡;Wirsing,M。;Vidal-Naquet,G.,《自然语义学》,STACS 87,22-39(1987),海德堡:斯普林格·Zbl 0635.68007号 ·doi:10.1007/BFb0039592
[9] Plotkin,G.D.:操作语义的结构方法。奥胡斯大学,技术报告。DAIMI FN-19(1981)再版于《逻辑与代数编程杂志》,60-61(2004)
[10] 普洛金,GD,《操作语义的结构方法》,J.逻辑代数程序。,60-61, 17-139 (2004) ·Zbl 1082.68062号
[11] ⑩erbţnu෥Ťâ,T-F;罗什·G。;Meseguer,J.,《操作语义的重写逻辑方法》,Inf.Compute。,207, 2, 305-340 (2009) ·兹比尔1165.68041 ·doi:10.1016/j.ic.2008.03.026
[12] Berry,G.,Boudol,G.:化学抽象机。收录于:POPL,第81-94页(1990年)·Zbl 0747.68013号
[13] Berry,G。;Boudol,G.,《化学抽象机》,理论。计算。科学。,96, 1, 217-248 (1992) ·Zbl 0747.68013号 ·doi:10.1016/0304-3975(92)90185-I
[14] Felleisen,M。;Hieb,R.,《顺序控制和状态句法理论的修订报告》,Theoret。计算。科学。,103, 2, 235-271 (1992) ·Zbl 0764.68094号 ·doi:10.1016/0304-3975(92)90014-7
[15] 赖特,阿拉斯加州;Felleisen,M.,《类型稳健性的句法方法》,Inf.Compute。,115, 1, 38-94 (1994) ·Zbl 0938.68559号 ·doi:10.1006/inco.1994.1093
[16] Hennessy,M.,《编程语言的语义:使用结构操作语义的基本介绍》(1990年),纽约:威利出版社,纽约·Zbl 0723.68067号
[17] 苔藓,PD;Kutyłowski,M。;Wierzbicki,TM;Pacholski,L.,模块化SOS基础,计算机科学数学基础1999,70-80(1999),海德堡:施普林格·Zbl 0955.68075号 ·doi:10.1007/3-540-48340-37
[18] 苔藓,PD;基什内尔,H。;Ringeissen,C.,模块化SOS的语用学,代数方法论和软件技术,21-40(2002),海德堡:斯普林格·Zbl 1275.68086号 ·doi:10.1007/3-5440-45719-4/3
[19] Mosses,PD,模块化结构操作语义,J.逻辑代数程序。,60-61, 195-228 (2004) ·Zbl 1072.68061号 ·doi:10.1016/j.jlap.2004.03.008
[20] 梅塞盖尔,J。;科罗拉多州布拉加;藤架,C。;马哈拉杰,S。;Shankland,C.,《编程语言的模块化重写语义》,代数方法论和软件技术,364-378(2004),海德堡:施普林格出版社·兹比尔1108.68401 ·doi:10.1007/978-3-540-27815-3_29
[21] 布拉加,C。;Meseguer,J.,《实践中的模块化重写语义》,Electron。注释Theor。计算。科学。,117, 393-416 (2005) ·Zbl 1272.68168号 ·doi:10.1016/j.entcs.2004.06.019
[22] Chalub,F.,Braga,C.:莫德MSOS工具。摘自:Denker,G.,Talcott,C.(编辑)第六届重写逻辑及其应用国际研讨会论文集(WRLA 2006)。理论计算机科学电子笔记,第176卷(4),第133-146页(2007)
[23] 罗什·G。;öerbţnu෥\355 ;ūć,T-F,《K语义框架概述》,《逻辑代数程序》。,79, 6, 397-434 (2010) ·Zbl 1214.68188号 ·doi:10.1016/j.jlap.2010.03.012
[24] Ellison,C.,Rošu,G.:C与应用程序的可执行形式语义。收录于:POPL,第533-544页(2012年)
[25] Hathhorn,C.、Ellison,C.、Rošu,G.:定义C.的不确定性:第36届ACM SIGPLAN编程语言设计与实现会议论文集(PLDI 2015)。ACM(2015)
[26] 博格德纳什,D.,罗什u,G.:K-Java:Java的完整语义。摘自:第42届程序设计语言原理研讨会论文集(POPL 2015),第445-456页。ACM,2015年1月·Zbl 1346.68046号
[27] Park,D.,ötefnescu,A.,Rošu,G.:KJS:JavaScript的完整形式语义。摘自:第36届ACM SIGPLAN编程语言设计与实现会议记录(PLDI 2015)。ACM(2015)
[28] 阿佩尔,AW;Barthe,G.,验证软件工具链,编程语言和系统,1-17(2011),海德堡:施普林格·Zbl 1326.68047号 ·doi:10.1007/978-3-642-19718-5_1
[29] ⑩tefnescu,A。;Ciobác,О。;Mereuta,R。;摩尔,BM;⑩erbnut,TF;罗什·G。;Dowek,G.,《全通可达性逻辑,重写和类型化Lambda Calculi》,425-440(2014),海德堡:斯普林格·兹伯利1416.68052
[30] Rošu,G.,ötefnescu,A.,Ciobác,S.,Moore,B.M.:单程可达性逻辑。收录于:LICS 2013。IEEE(2013)·Zbl 1366.68182号
[31] Rošu,G.,ötefnescu,A.:使用匹配逻辑检查可达性。摘自:《第27届面向对象编程、系统、语言和应用会议论文集》(OOPSLA 2012),第555-574页。ACM(2012年)·兹比尔1372.68066
[32] 罗什·G。;⑩tefnescu,A。;Czumaj,A。;Mehlhorn,K。;Pitts,A。;Wattenhofer,R.,《走向操作语义和公理语义的统一理论》,《自动机、语言和编程》,351-363(2012),海德堡:斯普林格出版社·Zbl 1367.68075号
[33] Roşu,G.:匹配逻辑——扩展抽象。摘自:《第26届改写技术与应用国际会议论文集》(RTA 2015)。LNCS公司。斯普林格,海德堡(2015年出版)·Zbl 1366.68027号
[34] 罗什·G。;⑩tefnescu,A。;Giannakopoulou,D。;Méry,D.,从霍尔逻辑到匹配逻辑可达性,FM 2012:形式方法,387-402(2012),海德堡:施普林格,海德堡·Zbl 1372.68066号
[35] Rošu,G.,ötefnescu,A.:匹配逻辑:一种新的程序验证方法。收录于:ICSE(NIER轨道),第868-871页(2011年)
[36] 罗什·G。;埃里森,C。;舒尔特,W。;约翰逊,M。;Pavlovic,D.,《匹配逻辑:霍尔/弗洛伊德逻辑的替代品》,代数方法论和软件技术,142-162(2011),海德堡:斯普林格·Zbl 1308.68045号 ·doi:10.1007/978-3-642-17796-59
[37] 《匹配逻辑重写:在实用和通用框架中统一操作语义和公理语义》,伊利诺伊大学,技术报告,2011年11月。http://hdl.handle.net/2142/28357
[38] de Moura,L。;比约纳,北。;罗马克里希南,CR;Rehof,J.,Z3:高效SMT求解器,系统构建和分析的工具和算法,337-340(2008),海德堡:施普林格·doi:10.1007/978-3-540-78800-3_24
[39] 罗什乌,G.:CS3222003年秋季——编程语言设计:课堂讲稿。伊利诺伊大学厄本那-香槟分校计算机科学系,技术报告。UIUCDCS-R-2003-28972003年12月,UIUC课程讲稿
[40] 梅塞盖尔,J。;罗什·G。;盆地,D。;Rusinovitch,M.,《重写逻辑语义:从语言规范到形式化分析工具》,《自动推理》,1-44(2004),海德堡:施普林格出版社·Zbl 1126.68464号 ·doi:10.1007/978-3-540-25984-8_1
[41] Guth,D.:Python 3.3的正式语义。伊利诺伊大学厄本那-香槟分校硕士论文,2013年7月。https://github.com/kframework/python-set语义学
[42] Meredith,P.,Hills,M.,Rošu,G.:K-scheme的可执行重写逻辑语义。摘自:Dube,D.(编辑)《2007年方案和函数编程研讨会论文集》(Scheme 2007),技术报告DIUL-RT-0701。拉瓦尔大学,第91-103页(2007年)
[43] Lazar,D.:K Haskell’98的定义(2012)。https://github.com/davidlazar/haskell-semantics网站
[44] Gligoric,M.、Marinov,D.、Kamin,S.:CoDeSe:通过代码生成快速反序列化。摘自:Dwyer,M.B.,Tip,F.(编辑)ISSTA,第298-308页。ACM(2011年)
[45] As’voae,M.:K汇编语言语义:案例研究。In:Hills,M.(编辑)K’11。理论计算机科学电子笔记,第304卷,第111-125页(2014)
[46] As’voae,M.:一种基于K的嵌入式系统模块化设计方法。In:WADT(初步程序)。TR-08/12,马德里Complutense大学,第16页(2012年)。http://maude.sip.ucm.es/wadt2012/docs/wadt2012预处理.pdf
[47] Ellison,C.,Lazar,D.:LLVM汇编语言的K定义(2012)。https://github.com/davidlazar/llvm-semantics网站
[48] Meredith,P.O.,Katelman,M.,Meseguer,J.,Rošu,G.:Verilog的正式可执行语义。摘自:第八届ACM/IEEE国际协同设计形式方法和模型会议(MEMOCODE 2010),第179-188页。IEEE(2010)
[49] Hills,M.,Chen,F.,Roşu,G.:C中测量单位静态检查的重写逻辑方法。in:Kniesel,G.,Pinto,J.S.(编辑)RULE 2008。理论计算机科学电子笔记,第290卷,第51-67页。Elsevier(2012)
[50] 鲁苏,V。;卢卡努,D。;贝克特,B。;达米亚尼,F。;Gurov,D.,基于(mathbb{K})的领域特定建模语言形式化框架,面向对象软件的形式化验证,214-231(2012),海德堡:Springer,Heidelberg·数字对象标识代码:10.1007/978-3642-31762-0_14
[51] Arusoaie,A.,Lucanu,D.,Rusu,V.:面向OCL的K语义。摘自:Hills,M.(编辑)K'11。理论计算机科学电子笔记,第304卷,第81-96页(2014)
[52] Heumann,S.、Adve,V.S.、Wang,S.:安全并发的带效果任务模型。收录人:Nicolau,A.,Shen,X.,Amarasinghe,S.P.,Vuduc,R.(编辑)PPOPP,第239-250页。ACM(2013)
[53] 丁格斯,P。;Agha,G。;Sirjani,M.,《大型参与者系统的范围同步约束》,协调模型和语言,89-103(2012),海德堡:施普林格·doi:10.1007/978-3-642-30829-17
[54] ⑩erbţnu෥Ťâ,T-F;ψtefnescu,G。;罗什·G。;科恩,DW;弗里斯科,P。;普昂,G。;Rozenberg,G。;Salomaa,A.,《使用K中的结构化数据定义和执行P系统》,膜计算,374-393(2009),海德堡:施普林格·Zbl 1196.68084号 ·doi:10.1007/978-3-540-95885-7_26
[55] Chira,C。;⑩erbţnu෥Ťâ,T-F;ötefnescu,G.,P系统与控制核:概念,J.逻辑代数程序。,79, 6, 326-333 (2010) ·Zbl 1208.68125号 ·doi:10.1016/j.jlap.2010.03.006
[56] öerbţnu \355},T.-F.:并发编程语言设计和语义的重写方法。伊利诺伊大学香槟分校博士论文,2010年12月。https://www.deals.illinois.edu/handle/242/18252网址
[57] 埃里森,C。;⑩erbţnu෥Ťâ,T-F;罗什·G。;Corradini,A。;Montanari,U.,《类型推理的重写逻辑方法》,《代数发展技术的最新趋势》,135-151(2009),海德堡:斯普林格出版社·Zbl 1253.68211号 ·doi:10.1007/978-3-642-03429-9_10
[58] 作为‘voae’,IM;作为‘voae’,M。;Ùlveczky,PC,在K框架中收集谓词抽象下的语义,重写逻辑及其应用,123-139(2010),海德堡:斯普林格·Zbl 1306.68061号 ·doi:10.1007/978-3-642-16310-4_9
[59] Asévoae,I.M.:K.中抽象的系统设计。in:WADT(初步程序),TR-08/12,马德里Complutense大学,第9页(2012)。http://maude.sip.ucm.es/wadt2012/docs/wadt2012-preproceedings.pdf ·Zbl 1367.68058号
[60] Rot,J.,Asévoae,I.M.,de Boer,F.S.,Bonsangue,M.M.,Lucanu,D.:在递归存在的情况下通过堆进行交互。收录人:Carbone,M.、Lanese,I.、Silva,A.、Sokolova,A.(编辑)ICE。理论计算机科学电子论文集,第104卷,第99-113页(2012)·兹比尔1433.68218
[61] As′voae,I.M.,As′voae,M.,Lucanu,D.:K框架中的路径导向符号执行。见:Ida,T.,Negru,V.,Jebelean,T.、Petcu,D.、Watt,S.M.、Zaharie,D.(编辑)SYNASC,第133-141页。IEEE计算机学会(2010)
[62] As’voae,I.M.:《别名分析的抽象语义》,K.in:Hills,M.(编辑)K'11。理论计算机科学电子笔记,第304卷,第97-110页(2014)
[63] Arusoaie,A。;卢卡努,D。;鲁苏,V。;埃尔维格,M。;佩奇,RF;Van Wyk,E.,符号执行的通用框架,软件语言工程,281-301(2013),海德堡:施普林格·doi:10.1007/978-3-319-02654-116
[64] Arusoaie,A.:符号执行的一般框架:理论和应用。Iasi大学Alexandru I.Cuza计算机科学学院博士论文,2014年9月。https://fmse.info.uaic.ro/publications/193/
[65] Asévoae,M.,Lucanu,D.,Rošu,G.:面向基于语义的WCET分析。收录:Healy,C.(编辑)WCET。奥斯汀计算机学会(OCG)(2011年)
[66] 作为‘voae’,M。;作为‘voae’,IM;卢卡努,D。;佩尼亚,R。;van Eekelen,M。;Shkaravska,O.,《关于(mathbb{K})框架中时间分析的抽象》,《资源分析的基础和实践方面》,90-107(2012),海德堡:斯普林格·Zbl 1367.68058号 ·doi:10.1007/978-3-642-32495-66
[67] 作为奥沃埃,M。;作为“voae”,IM;拉戈,UD;Peña,R.,《关于WCET分析中抽象语义的模块化集成,资源分析的基础和实践方面》,19-37(2014),海德堡:斯普林格·Zbl 1445.68037号
[68] 卢卡努,D。;鲁苏,V。;约翰森,EB;Petre,L.,《通过循环推理实现程序等价》,《综合形式方法》,362-377(2013),海德堡:施普林格出版社·doi:10.1007/978-3-642-38613-8_25
[69] Ciobác,О。;卢卡努,D。;鲁苏,V。;罗什·G。;Merz,S。;Pang,J.,《相互程序等价的独立于语言的证明系统》,《形式方法与软件工程》,75-90(2014),海德堡:斯普林格出版社
[70] Ciobácá,S.、Lucanu,D.、Rusu,V.、Rošu,G.:编程语言聚合的理论基础。在:第22届代数开发技术国际研讨会。罗马尼亚西奈亚LNCS。斯普里格,海德堡,2014年9月(待发布)。https://hal.inia.fr/hal-01076641 ·兹比尔1472.68019
[71] 罗什·G。;舒尔特,W。;⑩erbţnu෥Ťŏâ,TF;Bensalem,S。;Peled,DA,C内存安全的运行时验证,运行时验证(Runtime verification),132-151(2009),海德堡:施普林格·doi:10.1007/978-3642-04694-0_10
[72] Regehr,J.,Chen,Y.,Cuoq,P.,Eide,E.,Ellison,C.,Yang,X.:C编译器错误的测试用例减少。摘自:Vitek,J.、Lin,H.、Tip,F.(编辑)PLDI,第335-346页。ACM(2012年)
[73] Arusoaie,A。;卢卡努,D。;鲁苏,V。;⑩erbţnu෥Ťâ,T-F;⑩tefnescu,A。;罗什·G。;Escobar,S.,《作为重写理论的语言定义》,《重写逻辑及其应用》,97-112(2014),海德堡:施普林格出版社·Zbl 1356.68115号
[74] Chiriţ,C.E.,öerb \355ng; nu \355ing;,T.-F.:K语义框架的制度基础。摘自:第22届代数开发技术国际研讨会(WADT 2014)。LNCS(2014年,即将发布)·Zbl 1472.68034号
[75] Feliú,M.A.:基于逻辑的程序分析和规范合成技术。2013年9月,瓦伦西亚政治大学信息与计算系博士论文
[76] Alpunte,M.,Feliú,M.A.,Villanueva,A.:使用匹配逻辑自动推断规范。参见:《2013年ACM SIGPLAN部分评估和程序操作研讨会论文集》,2013年PEPM,意大利罗马,2013年1月21日至22日,第127-136页。ACM(2013)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。