×

使用抽象解释为Java字节码验证中的接口添加类型检查。 (英语) Zbl 1209.68085号

总结:Java接口类型支持多重继承。因此,标准字节码验证器忽略了它们,因为它无法将类层次结构建模为格。因此,在运行时对接口执行类型检查。我们提出了一种验证方法,消除了运行时检查的需要。该方法包括:(1)一个与标准验证器非常相似的增强验证器,但在大多数情况下也能够检查接口类型;(2) 对于所有其他情况,还有一组附加的更简单的验证器,每个验证器专门用于一种接口类型。我们通过使用抽象解释技术以系统的方式获得这些验证器。最后,我们描述了该方法的实施,并根据一组大型基准对其进行了评估。

MSC公司:

68甲15 编程语言理论
60年第68季度 规范和验证(程序逻辑、模型检查等)

软件:

达卡波BCEL公司
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿帕奇基金会。字节码工程库(BCEL)用户手册,2002年。可在http://jakarta.apache.org/bcel/index.html; 阿帕奇基金会。字节码工程库(BCEL)用户手册,2002年。可在http://jakarta.apache.org/bcel/index.html
[2] 辛齐亚·伯纳德斯基;De Francesco,尼科莱塔;朱塞佩·莱蒂埃里;卢卡·马蒂尼;Masci,Paolo,通过抽象解释分解字节码验证,ACM编程语言和系统事务,31,1,1-63(2008)
[3] 辛齐亚·伯纳德斯基;朱塞佩·莱蒂埃里;卢卡·马提尼;Paolo Masci,《使用控制依赖性进行太空软件字节码验证》,《计算机杂志》,49,2,234-248(2006)
[4] 布莱克本,S.M。;R.加纳。;霍夫曼,C。;A.M.Khan。;麦金利,K.S。;Bentzur,R。;迪万,A。;范伯格,D。;弗兰普顿博士。;盖耶,S.Z。;Hirzel,M。;霍斯金,A。;跳跃,M。;Lee,H。;莫斯,J.E.B。;Phansalkar,A。;斯特凡诺维奇,D。;VanDrunen,T.等人。;冯·丁克拉奇,D。;Wiedermann,B.,《DaCapo基准测试:Java基准测试开发与分析》(OOPSLA’06:第21届ACM SIGPLAN面向对象编程、系统、语言和应用年会论文集(2006),ACM出版社:美国纽约州纽约市ACM出版社),169-190
[5] 埃里克·布鲁内顿、罗曼·伦格利特、蒂埃里·库帕伊(Thierry Coupaye),ASM:实现适应性系统的代码操作工具,载于:ASF会议录(ACM SIGOPS France)Journées Composants 2002:Systèmes A Composants adaptables et extensibles(适应性和可扩展组件系统),2002年11月。;埃里克·布鲁内顿(Eric Bruneton)、罗曼·伦格利特(Romain Lenglet)、蒂埃里·库帕伊(Thierry Coupaye),ASM:实现适应性系统的代码操作工具,载于:ASF会议录(ACM SIGOPS France)Journées Composants 2002:Systèmes A Composants adaptables et extensibles(适应性和可扩展组件系统),2002年11月。
[6] 亚历山德罗·科利奥(Alessandro Coglio),《改进Java字节码验证、并发和计算的官方规范:实践和经验》,第15、2、155-179页(2003年)·Zbl 1005.68582号
[7] 帕特里克·库索特(Patrick Cousot);Cousot,Radhia,《抽象解释:通过构建或近似不动点对程序进行静态分析的统一格模型》,(第四届ACM SIGPLAN-SIGACT编程语言原理年会会议记录(1977),ACM出版社:纽约州ACM出版社),238-252·Zbl 1149.68389号
[8] 帕特里克·库索特(Patrick Cousot);Cousot,Radhia,程序分析框架的系统设计,(第六届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(1979),ACM出版社:德克萨斯州圣安东尼奥ACM出版社),269-282,纽约州纽约·Zbl 1323.68356号
[9] 帕特里克·库索特(Patrick Cousot);Cousot,Radhia,抽象解释框架,逻辑与计算杂志,2511-547(1992)·兹比尔0783.68073
[10] 布莱恩·戴维(Brian A.Davey)。;希拉里·普里斯特利(Hilary A.Priestley),《格与秩序导论》(2002),剑桥大学出版社·Zbl 1002.06001号
[11] 安德烈亚斯·加尔(Andreas Gal);克里斯蒂安·普罗布斯特(Christian W.Probst)。;Franz,Michael,通过静态单一赋值表进行Java字节码验证,《编程语言和系统的ACM事务》,30,4,1-21(2008)
[12] 罗伯托·贾科巴齐;弗朗切斯科·兰扎托;弗朗西斯卡·斯科扎里(Francesca Scozzari),《完成抽象解释》(Making abstract interpretations complete),《美国医学杂志》(Journal of the ACM),第47、2、361-416页(2000)·Zbl 1133.68370号
[13] Goldberg,Allen,Java加载和字节码验证规范,(ACM计算机和通信安全会议(1998年),ACM出版社:纽约州纽约市ACM出版社),49-58
[14] 詹姆斯·戈斯林(James Gosling);乔伊,比尔;盖·斯蒂尔;Bracha,Gilad,《Java语言规范》(2005),Addison-Wesley Longman:Addison-Whesley Longman阿姆斯特丹·兹比尔0865.68001
[15] Jsr-000202 Java类文件规范更新。技术报告JSR202,Java社区进程,http://jcp.org/en/jsr/detail?id=202; Jsr-000202 Java类文件规范更新。技术报告JSR202,Java社区进程,http://jcp.org/en/jsr/detail?id=202
[16] 托德·诺布洛克(Todd B.Knoblock)。;Rehof,Jakob,Java字节码的类型细化和子类型完成,《编程语言和系统的ACM事务》,23,2,243-272(2001)·兹比尔1323.68188
[17] Leroy,Xavier,Java智能卡字节码验证,软件实践与体验,32,319-340(2002)·Zbl 1009.68891号
[18] Leroy,Xavier,Java字节码验证:算法和形式化,自动推理杂志,30,235-269(2003)·Zbl 1031.68041号
[19] Tim Lindholm;Frank Yellin,《Java虚拟机规范》(1996),Addison-Wesley出版公司:Addison-Whesley出版公司,马萨诸塞州雷丁
[20] Tim Lindholm;Yellin,Frank,《Java虚拟机规范》(1999),Addison-Wesley Longman Publishing Co.,Inc.:Addison-Whesley Longman出版社,Inc.美国马萨诸塞州雷丁
[21] OpenJDK社区。OpenJDK,Java平台的开源实现,标准版,2008年。可在http://openjdk.java.net/; OpenJDK社区。OpenJDK,Java平台的开源实现,标准版,2008年。可在http://openjdk.java.net/
[22] 钱振宇,Java字节码验证的标准定点迭代,《编程语言和系统的ACM事务》,22,4,638-672(2000)
[23] Rose,Eva,轻量级字节码验证,自动推理杂志,31,3-4,303-334(2003)·Zbl 1069.68542号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。