期刊文献+

Java虚拟机动态类加载的形式化模型 被引量:3

A Formal Model for Dynamic Class Loading in the Java Virtual Machine
下载PDF
导出
摘要 Java虚拟机支持一种功能很强的动态加载类的机制,它具有惰性加载、类型安全连接、用户自定义加载策略、以及动态名字空间等特性。但是,在Java的早期实现(JDK1.0和1.1)中,这种机制包含了一种称为类型欺骗的严重设计错误。尽管JDK1.2通过引入一种类加载约束策略修正了这个错误,但是由动态加载引起的其它形式的类型欺骗仍然存在于JDK1.2和1.3中。本文详细讨论了与动态类加载相关的类型欺骗问题,提出了一个严格定义Java虚拟机操作语义和静态语义的形式化模型。其中,操作语义描述了类加载约束策略、字段及方法解析算法等类加载的主要特性;静态语义采用类型规修正了JDK1.2和1.3中的类型欺骗。 The Java Virtual Machine(JVM)supports a novel and powerful class loading mechanism which incorporates all of the following features: lazy loading, type-safety linkage, user-definable class loading policy and multiple names- paces. However, that class loading methanism contained a seerious type-spoofing bug in earlier implementations (JDK 1.0 and 1.1), which leads to type safety violations. Although JDK 1.2 introduces a class loading constraint scheme to fix the bug, subtle type spoofing related to class loaders still exists in JDK 1.2 and 1.3. We develop a formal model to specity the operational semantics and static semantics of the Java virtual machine, rigorously. In the model, the opera- tional semantics describes the main features of class loading such as class loading constraints scheme, field and method resolutions etc. The static semantics uses typing rules to fix the type-spoofing bug in JDK 1.2 and 1.3.
出处 《计算机科学》 CSCD 北大核心 2005年第7期209-213,共5页 Computer Science
基金 Supported by thd National Natural Science Foundation of China under Grant No.90207015(国家自然科学基金)
关键词 JAVA虚拟机 形式化模型 动态 JDK1.2 加载 静态语义 用户自定义 安全连接 名字空间 设计错误 操作语义 语义描述 解析算法 类型 欺骗 机制 字段 Dynamic class loading Type safety Type system Operational semantics Multiple loaders Java virtual machine
  • 相关文献

参考文献11

  • 1JavaSoft,Sun Microsystems,Inc. Servlet, 1998. JDK1.2 documentation, available at http:∥java. sun. com/products/jdk/1,2/docs/ext/servlet 被引量:1
  • 2JavaSoft,Sun Microsystems,Inc. JavaBeans Components API for Java, 1997. JDK 1.1 documentation, available at http:∥java. sun.com/products/jdk/1.1/docs/guide/beans 被引量:1
  • 3Saraswat V. Java is not type-safe. Technical report,AT&T Rresearch, 1997. http:∥www. research. att. comp/vj/bug. html 被引量:1
  • 4Lindholm T,Yellin F. The JavaTMVirtual Machine Specification-2ndedition. Addison-wesley, 1999 被引量:1
  • 5Dean D. The Security of Static Typing with Dynamic Linking. In fourth ACM Conference on Computer and Communication Security,1997 被引量:1
  • 6Drossopoulou S. Towards an abstract model of Java dynamic linking and verification. In: R. Harper,ed. TIC' 00-Third Workshop on types in Compilation (Selected Papers), volume 2071 of Lecture Notes in Computer Science, Springer, 2001.53 ~ 84 被引量:1
  • 7Drossopoulou S, Lagorio G, Eisenbach S. Flexible models for dynamic linking. In Pierpaolo Degano, editor, European Symposium on Programming 2003 ,volume 2618 of Lecture Notes in Computer Science, Springer, 2003.38~ 53 被引量:1
  • 8Jensen T,Metayer D L,Thorn T. Security and Dynamic Loading in Java: A Formalisation. In: Proc. of the 1998 IEEE Intl. Conf. on Computer Languages, Chicago, inois, May 1998.4 ~ 15 被引量:1
  • 9Higuchi T,Ohori A. Java bytecode as a typed term calculus. In:proc. nf the conf. on Principles and practice of declarative propramming, 2002 被引量:1
  • 10Qian Z,GoldBerg A,Coglio A. A formal specification of Java TM class loading. In: Proc. ACM Conf on Object-Oriented Programming ,Systems ,Languages ,and Applications. ACM Press, 2000 被引量:1

同被引文献12

引证文献3

二级引证文献13

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部