×

兹马思-数学第一资源

一种灵活的(C)基于LP的面向对象程序分析方法。(英语) Zbl 1179.68030
Andy King(编辑),《基于逻辑的程序综合与转换》。2007年8月23日至24日,丹麦Kongens Lyngby举办的第17届国际研讨会。修订精选论文。柏林:斯普林格出版社(ISBN 978-3-540-78768-6/pbk)。计算机科学课堂讲稿4915,154-168(2008)。
摘要:面向对象程序的静态分析通常依赖于中间表示,这些表示既尊重原始语义,又具有更统一和基本的语法。大多数涉及面向对象语言和抽象解释的工作通常忽略了对该语言的描述,或者只引用它所表示的控制流图(CFG)。然而,这种形式化的缺乏一方面导致对转换的正确性缺乏保证,另一方面它通常会将分析与源语言紧密地结合在一起。在这项工作中,我们提出了一个分析面向对象语言的框架,在这个框架中,我们首先将输入程序转换为基于Horn子句的表示。这一方面有助于证明处理简单条件的转换的正确性,另一方面允许应用现有的(约束)逻辑编程分析器来自动导出原始程序语义的安全近似值。这种方法是灵活的,因为第一阶段将分析器与大多数依赖于语言的特征解耦,并且是正确的,因为转换阶段返回的Horn子句集安全地近似于输入程序的标准语义。由于使用了成熟的、模块化的(C)基于LP的分析仪,因此得到的分析也具有合理的可伸缩性。这使我们能够报告中等规模项目的良好结果。
整个系列请参见[Zbl 1154.68018号].

理学硕士:
68N19 其他编程范例(面向对象、顺序、并发、自动等)
PDF格式 双歧杆菌 XML 引用
全文: 内政部
参考文献:
[1] Albert,E.,Gómez Zamalola,M.,Hubert,L.,Puebla,G.:使用逻辑程序的分析和转换验证Java字节码。在:哈努斯,M.(编辑)帕德尔2007年。LNCS,第4354卷,第124-139页。斯普林格,海德堡(2006)·doi:10.1007/978-3-540-69611-7_8
[2] Alves Foss,J.(编辑):Java的形式语法和语义。LNCS,第1523卷。斯普林格,海德堡(1999)
[3] Bacon,D.F.,Sweeney,P.F.:c++虚拟函数调用的快速静态分析。程序。OOPSLA 1996,SIGPLAN公告31(10),324–341(1996)
[4] Blanchet,B.:面向对象语言的转义分析。Java应用程序(TM)。In:面向对象编程、系统、语言和应用会议(OOPSLA 1999),第20-34页。ACM,纽约(1999年)
[5] Bruynooghe,M:逻辑程序抽象解释的实用框架。逻辑程序设计杂志10,91–124(1991)·Zbl 0717.68010·文件编号:10.1016/0743-1066(91)80001-T
[六] Bueno,F.,Cabeza,D.,Carro,M.,Hermenegildo,M.,López García,P.,Puebla,G.(编辑):Ciao系统。参考手册(v1.10)。技术报告,计算机科学学院(UPM)(2004年),http://www.ciaohome.org
[七] Chang,B.-Y.E.,Leino,K.R.M.:用外来表达式和堆结构进行抽象解释。In:Cousot,R.(编辑)2005年VMCAI。LNCS,第3385卷,第147-163页。斯普林格,海德堡(2005)·Zbl 1111.68397·doi:10.1007/978-3-540-30579-8_11
[8] Le Charlier,B.,Van Hentenryck,P.:Prolog通用抽象解释算法的实验评估。编程语言与系统ACM交易16(1),35–101(1994)·doi:10.1145/174625.174627
[9] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。在:过程。1977年出版,第238-252页(1977年)·数字标识码:10.1145/512950.512973
[10] DeLine,R.,Leino,K.R.M.:BoogiePL:一种用于检查面向对象程序的类型化过程语言。技术报告MSR-TR-2005-70,微软研究院(2005)
[11] 扩展表:逻辑程序设计中的备忘录关系。在:第四届IEEE逻辑编程研讨会,第264-272页(1987年9月)
[12] Fecht,C.:Gena-根据规范生成prolog分析器的工具。In:Mycroft,A.(编辑)SAS 1995。LNCS,第983卷,第418-419页。斯普林格,海德堡(1995)·doi:10.1007/3-540-60360-3_53
[13] Genaim,S.,Spoto,F.:Java字节码的信息流分析。在:过程。VMCAI的。LNCS,斯普林格,海德堡(2005)·Zbl 1111.68505
[14] Gosling,J.,Joy,B.,Steele,G.,Bracha,G.:Java(TM)语言规范,第三版。Addison Wesley,专业阅读(2005)·Zbl 0865.68001
[15] Hermenegildo,M.,Puebla,G.,Bueno,F.,López García,P.:使用抽象解释的程序开发(和Ciao系统预处理器)。In:Cousot,R.(编辑)SAS 2003。LNCS,第2694卷,第127-152页。斯普林格,海德堡(2003)·Zbl 1067.68544号·doi:10.1007/3-540-44898-5_8
[16] Hermenegildo,M.,Puebla,G.,Marriott,K.,Stuckey,P.:约束逻辑程序的增量分析。ACM TOPLAS 22(2),187–223(2000年)·数字标识码:10.1145/349214.349216
[17] Kowalski,R.,Kuehner,D.:具有选择函数的线性分辨率。人工智能2227–260(1971)·中银0234.68037·doi:10.1016/0004-3702(71)90012-9
[18] Leavens,G.T.,Baker,A.L.,Ruby,C.:jml的初步设计:一种面向java的行为接口规范语言。SIGSOFT软件。工程注释31(3),1-38(2006年)·doi:10.1145/1127878.1127884
[19] Leroy,X.:Java字节码验证:概述。摘自:Berry,G.,Comon,H.,Finkel,A.(编辑),CAV 2001。LNCS,第2102卷,斯普林格,海德堡(2001)·Zbl 0996.68591·doi:10.1007/3-540-44585-4_26
[20] 实施静态系统分析。摘自:Palsberg,J.(编辑)SAS 2000。LNCS,第1824卷,第280-302页。斯普林格,海德堡(2000)·Zbl 0966.68580·doi:10.1007/978-3-540-45099-3_15
[21] Logozzo,F.,Cortesi,A.:抽象解释和面向对象语言:quovadis?在:过程。第一届面向对象语言抽象解释国际研讨会(AIOOL 2005)。ENTCS,爱思唯尔科学,阿姆斯特丹(2005)
[22] Cibai:一个基于抽象交互的静态分析器,用于java类的模块化分析和验证。在:库克,B.,波德尔斯基,A.(编辑)2007年VMCAI。LNCS,第4349卷,第283-298页。斯普林格,海德堡(2007)·Zbl 1132.68329·doi:10.1007/978-3-540-69738-1_21
[23] Muthukumar,K.,Hermenegildo,M.:使用抽象解释的变量依赖的编译时派生。JLP 13(2/3),315–347(1992年)·Zbl 0776.68032·doi:10.1016/0743-1066(92)90035-2
[24] Navas,J.,Méndez Lojo,M.,Hermenegildo,M.:一个高效的、上下文和路径敏感的Java程序分析框架。In:ftfjp2007第9期类Java程序形式化技术研讨会(2007年7月)
[25] Peralta,J.,Cruz Carlon,J.:从静态单一赋值形式到确定程序和返回。In:逻辑程序综合与转换国际研讨会(LOPSTR)的引申摘要(2006年7月)
[26] Peralta,J.C.,Gallagher,J.,Sa湫lam,H.:通过分析约束逻辑程序分析命令式程序。在:Levi,G.(编辑)SAS 1998。LNCS,第1503卷,第246-261页。斯普林格,海德堡(1998)·doi:10.1007/3-540-49727-7_15
[27] Pollet,I.:面向Java抽象解释的通用框架。卢汶天主教大学计算机科学系博士论文(2004)
[28] Ruf,E.:java的有效同步删除。PLDI 2000,SIGPLAN公告35(5),208–218(2000年)·数字标识码:10.1145/349299.349327
[29] Secci,S.,Spoto,F.:面向对象程序的对共享分析。In:SAS,第320-335页(2005年)·Zbl 1141.68378·doi:10.1007/11547662_22
[30] Julia:Java字节码的通用静态分析器。在:过程。第七届类Java程序形式化技术研讨会,ftfjp2005,苏格兰格拉斯哥(2005年7月)
[31] 乔登套房,http://www-ali.cs.umass.edu/DaCapo/benchmarks.html
[32] Vallee Rai,R.,Hendren,L.,Sundaresan,V.,Lam,P.,Gagnon,E.,Co,P.:烟尘-Java优化框架。在:卡斯康1999年会议录,第125-135页(1999年)
[33] Warren,R.,Hermenegildo,M.,Debray,S.K.:逻辑程序全局流分析的实用性。第五届逻辑程序设计国际会议和研讨会,第684-699页。麻省理工学院出版社,1988年
此参考列表基于出版商或数字数学图书馆提供的信息。它的项被试探性地匹配到zbMATH标识符,并且可能包含数据转换错误。它试图尽可能准确地反映原始论文中列出的参考文献,而不要求匹配的完整性或精确性。