×

程序分析的逻辑近似。 (英语) Zbl 1256.68045号

摘要:程序的抽象解释将编程语言的确切语义与这些语义的有限近似联系起来。在本文中,我们描述了一种基于逻辑和逻辑编程的抽象解释方法。
我们的方法包括在逻辑中忠实地表示转换系统,然后操纵这个初始规范来创建原始规范的逻辑近似。目的是导出一个逻辑近似,可以解释为一个终止的前向-后向逻辑程序;这确保了近似是有限的,而且,适当的逻辑编程解释器可以实现导出的近似。
我们对有序逻辑中编程语言的操作语义的规范特别感兴趣,这是一种我们称之为子结构操作语义(SSOS)的技术。我们证明了明显合理的控制流和别名分析可以作为相关语言的子结构操作语义的逻辑近似来导出。

MSC公司:

68纳米30 软件工程的数学方面(规范、验证、度量、需求等)
第68季度55 计算理论中的语义学
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Aho,A.V.,Lam,M.S.,Sethi,R.,Ullman,J.D.:《编译器:原理、技术和工具》,第二版。Pearson Education,Upper Saddle River(2007年)·Zbl 1155.68020号
[2] Andreoli,J.M.:线性逻辑中重点证明的逻辑编程。J.日志。计算。2(3), 297–347 (1992) ·Zbl 0764.03020号 ·doi:10.1093/logcom/2.3.297
[3] Armelín,P.,Pym,D.:分组逻辑编程。参加:国际自动推理联合会议。计算机科学课堂讲稿,第2083卷,第289-304页。施普林格,纽约(2001)·Zbl 0988.68508号
[4] 巴伯:双重直觉线性逻辑。技术代表ECS-LFCS-96-347,爱丁堡大学计算机科学基础实验室(1996)
[5] 范·本特姆(van Benthem,J.):《语言在行动:范畴、兰姆达斯和动态逻辑》(Language in Action:Categories,Lambdas and Dynamic Logic)。《逻辑与数学基础研究》,第130卷,第225-250页。北荷兰,阿姆斯特丹(1991年)。第16章·Zbl 0717.03001号
[6] Bozzano,M.,Delzanno,G.:线性逻辑中的自动协议验证。摘自:《声明性编程原则与实践国际会议》,第38-49页。ACM,纽约(2002)·Zbl 1043.68565号
[7] Bozzano,M.,Delzanno,G.,Martelli,M.:线性逻辑程序的有效不动点语义。理论与实践。日志。程序。2(1), 85–122 (2002) ·Zbl 1087.68578号
[8] Bozzano,M.、Delzanno,G.、Martelli,M.:模型检查线性逻辑规范。理论与实践。日志。程序。4(5–6), 573–619 (2004) ·Zbl 1088.68102号 ·doi:10.1017/S1471068404002066
[9] Bravenboer,M.,Smaragdakis,Y.:复杂点到分析的严格声明性规范。在:面向对象编程、系统、语言和应用程序,第243-261页。ACM,纽约(2009)
[10] Bruscoli,P.,Guglielmi,A.:伽玛风格计算作为证明搜索的线性逻辑视图。摘自:Andreoli,J.M.、Hankin,C.、Métayer,D.L.(编辑)《协调编程:机制、模型和语义》,第249-273页。帝国理工学院出版社,伦敦(1996)
[11] Cervesato,I.,Pfenning,F.,Walker,D.,Watkins,K.:并发逻辑框架II:示例和应用。卡内基梅隆大学计算机科学学院技术代表CMU-CS-02-102(2002年)。2003年5月修订·Zbl 1100.68548号
[12] Cervesato,I.,Scedrov,A.:通过线性逻辑关联基于状态和基于进程的并发。Inf.计算。207, 1044–1077 (2009) ·Zbl 1181.68168号 ·doi:10.1016/j.ic.2008.11.006
[13] Cousout,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。摘自:编程语言原理研讨会,第238-252页。ACM,纽约(1977年)
[14] Ganzinger,H.,McAllester,D.A.:逻辑算法。参加:逻辑程序设计国际会议。《计算机科学讲义》,第2401卷,第209–223页。斯普林格,纽约(2002)·Zbl 1045.68061号
[15] Girard,J.Y.:线性逻辑中的不动点定理(1992)。向邮件列表发送电子邮件linear@cs.stanford.edu
[16] 霍达斯,J.S.,米勒,D.:直觉主义线性逻辑片段中的逻辑编程。Inf.计算。110(2), 327–365 (1994) ·Zbl 0807.68016号 ·文件编号:10.1006/inco.1994.1036
[17] Jagadeesan,R.,Nadathur,G.,Saraswat,V.A.:测试并发系统:直觉主义逻辑的解释。在:软件技术和理论计算机科学基础。计算机科学课堂讲稿,第3821卷,第517-528页。施普林格,纽约(2005)·Zbl 1172.68555号
[18] Lam,M.S.,Whaley,J.,Livshits,V.B.,Martin,M.C.,Avots,D.,Carbin,M.,Unkel,C.:作为数据库查询的上下文相关程序分析。摘自:数据库系统原理,第1-12页。ACM,纽约(2005)
[19] Lambek,J.:句子结构的数学。美国数学。周一。65, 363–386 (1958) ·Zbl 0080.00702号
[20] López,P.,Pfenning,F.,Polakow,J.,Watkins,K.:一元并行线性逻辑编程。摘自:《声明性编程的原则与实践》,第35-46页。ACM,纽约(2005年)
[21] McAllester,D.A.:关于静态分析的复杂性分析。《美国医学会期刊》49(4),512-537(2002)·Zbl 1326.68102号 ·数字对象标识代码:10.1145/581771.581774
[22] Meseguer,J.,Rošu,G.:重写逻辑语义项目。西奥。计算。科学。373, 213–237 (2007) ·Zbl 1111.68068号 ·doi:10.1016/j.tcs.2006.12.018
[23] Might,M.:免费摘要翻译。图:静态分析研讨会。计算机科学课堂讲稿,第6337卷,第407-421页。施普林格,纽约(2010)·Zbl 1306.68033号
[24] Might,M.,Smaragdakis,Y.,Van Horn,D.:解决和利用k-CFA悖论:阐明功能性与面向对象的程序分析。摘自:编程语言设计与实现,第305-315页。ACM,纽约(2010年)
[25] Miller,D.:一种逻辑编程语言,具有lambda抽象、函数变量和简单的统一。J.日志。计算。1(4), 497–536 (1991) ·Zbl 0738.68016号 ·doi:10.1093/logcom/1.4.497
[26] Miller,D.:一个多结论元逻辑。西奥。计算。科学。165(1), 201–232 (1996) ·Zbl 0872.68019号 ·doi:10.1016/0304-3975(96)00045-X
[27] Miller,D.:逻辑程序静态分析的证明理论方法。摘自:《简单类型理论中的推理:纪念彼得·安德鲁斯70岁生日》。《逻辑研究》,第17卷,第423-442页。学院出版物,伦敦(2008)
[28] Miller,D.,Nadatur,G.,Pfenning,F.,Scedrov,A.:作为逻辑编程基础的统一证明。Ann.纯粹应用。日志。51(1–2), 125–157 (1991) ·Zbl 0721.03037号 ·doi:10.1016/0168-0072(91)90068-W
[29] Moot,R.,Piazza,M.:一阶直觉主义线性逻辑的语言应用。J.日志。语言信息10(2),211-232(2001)·Zbl 0984.03028号 ·doi:10.1023/A:1008399708659
[30] Morrill,G.:范畴演绎的高阶线性逻辑编程。摘自:计算语言学协会欧洲分会会议记录,第133-140页。Morgan Kaufmann,圣马特奥(1995)
[31] Pfenning,F.:亚结构操作语义和线性目的地通过风格。在:亚洲编程语言和系统研讨会上。计算机科学讲义,第3302卷,第196页。施普林格,纽约(2004年)。受邀演讲摘要
[32] Pfenning,F.,Elliott,C.:高阶抽象语法。摘自:编程语言设计与实现,第199-208页。ACM,纽约(1988年)
[33] Pfenning,F.,Schürmann,C.:存在符号定义的等式和统一算法。In:校对和程序的类型。计算机科学讲义,第1657卷,第179-193页。施普林格,纽约(1998)·Zbl 0942.03014号
[34] Pfenning,F.,Simmons,R.J.:作为有序逻辑编程的子结构操作语义。摘自:计算机科学中的逻辑研讨会,第101-110页。IEEE计算机学会出版社,洛斯阿拉米托斯(2009)
[35] Plotkin,G.D.:操作语义的结构方法。J.日志。阿尔盖布。程序。60–61, 17–139 (2004). 根据奥胡斯大学技术报告DAIMI FN-19重新打印并更正
[36] Polakow,J.:有序上下文的线性逻辑编程。摘自:《声明性编程原则与实践国际会议》,第68-79页。ACM,纽约(2000年)
[37] Polakow,J.:有序线性逻辑及其应用。卡内基梅隆大学博士论文(2001年)。作为技术报告CMU-CS-01-152提供
[38] Rošu,G.,öerbţnu \355},T.F.:K语义框架概述。《逻辑与代数编程杂志》79(6)(2010)
[39] Rouveirol,C.:平坦化和饱和:用于泛化的两种表示变化。机器。学习。14, 219–232 (1994) ·Zbl 0804.68024号 ·doi:10.1023/A:1022678217288
[40] Schroeder-Heister,P.:定义反射规则。摘自:逻辑与计算机科学研讨会,第222-232页。IEEE计算机学会出版社,洛斯·阿拉米托斯(1993)
[41] Schürmann,C.:自动化演绎系统的元理论。卡内基梅隆大学博士论文(2000年)。作为技术报告CMU-CS-00-146提供
[42] öerbénuţ\355 ;跶曬,T.F.,Rošu,G.:K-Maude:一种基于重写的编程语言语义工具。重写逻辑及其应用。计算机科学课堂讲稿,第6381卷,第104-122页。施普林格,纽约(2010)·Zbl 1306.68088号
[43] Shieber,S.M.、Schabes,Y.、Pereira,F.C.N.:演绎分析的原理和实现。J.日志。程序。24(1–2), 3–36 (1995) ·Zbl 0866.68062号 ·doi:10.1016/0743-1066(95)00035-I
[44] Simmons,R.J.:下部结构规范的类型安全:初步结果。卡内基梅隆大学计算机科学学院技术代表CMU-CS-10-134(2010)
[45] Simmons,R.J.,Pfenning,F.:线性逻辑算法。在:自动机、语言和程序设计国际学术讨论会。计算机科学课堂讲稿,第5126卷,第336–345页。施普林格,纽约(2008)·Zbl 1155.68349号
[46] Simmons,R.J.,Pfenning,F.:线性逻辑近似。在:部分评估和程序操作,第9-20页。ACM,纽约(2009)
[47] Simmons,R.J.,Pfenning,F.:有序线性逻辑的弱聚焦。卡内基梅隆大学计算机科学学院技术代表CMU-CS-10-147(2011)·Zbl 1256.68045号
[48] Van Horn,D.,Mairson,H.G.:控制流分析中的关联复杂性和精确度。摘自:函数式编程国际会议,第85-96页。ACM,纽约(2007)·Zbl 1291.68184号
[49] Van Horn,D.,Might,M.:抽象抽象机器。摘自:函数式编程国际会议,第51-62页。ACM,纽约(2010年)·Zbl 1323.68231号
[50] Virga,R.:依赖类型的高阶重写。卡内基梅隆大学博士论文(1999年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。