A formal specification of Java']Java™ class leading

被引:4
|
作者
Qian, ZY [1 ]
Goldberg, A [1 ]
Coglio, A [1 ]
机构
[1] Kestrel Inst, Palo Alto, CA 94304 USA
关键词
D O I
10.1145/354222.353193
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Java Virtual Machine (JVM) has a novel and powerful mechanism to support lazy, dynamic class loading according to user-definable policies. Class loading directly impacts type safety, on which the security of Java applications is based. Conceptual bugs in the loading mechanism were found in earlier versions of the JVM that lead to type violations. A deeper understanding of the class loading mechanism, through such means as formal analysis, will improve our confidence that no additional bugs are present. The work presented in this paper provides a formal specification of (the relevant aspects of) class loading in the JVM and proves its type safety. Our approach to proving type safety is different from the usual ones since classes are dynamically loaded and full type information may not be statically available. In addition, we propose an improvement in the interaction between class loading and bytecode verification, which is cleaner and enables lazier loading.
引用
收藏
页码:325 / 336
页数:12
相关论文
共 50 条
  • [1] A formal specification of Java™ class loading
    Qian, Z.
    Goldberg, A.
    Coglio, A.
    [J]. Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA, 2000, 35 (10): : 325 - 336
  • [2] Formal specification and verification of Java']Java refactorings
    Garrido, Alejandra
    Meseguer, Jose
    [J]. SIXTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2006, : 165 - +
  • [3] A formal specification in JML of Java']Java security package
    Agarwal, Poonam
    Rubio-Medrano, Carlos E.
    Cheon, Yoonsik
    Teller, Patricia. J.
    [J]. ADVANCES AND INNOVATIONS IN SYSTEMS, COMPUTING SCIENCES AND SOFTWARE ENGINEERING, 2007, : 363 - 368
  • [4] Formal specification of the Java']JavaCard API in JML: the APDU class
    Poll, E
    van den Berg, J
    Jacobs, B
    [J]. COMPUTER NETWORKS, 2001, 36 (04) : 407 - 421
  • [5] Discovering anomalies in access modifiers in Java']Java with a formal specification
    Yang, W
    [J]. JOOP-JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 2001, 13 (10): : 12 - 18
  • [6] Formal specification and verification of Java']JavaCard's application identifier class
    van den Berg, J
    Jacobs, B
    Poll, E
    [J]. JAVA ON SMART CARDS: PROGRAMMING AND SECURITY, 2001, 2041 : 137 - 150
  • [7] A unified formal specification and analysis of the new Java']Java memory models
    Awhad, V
    Wallace, C
    [J]. ABSTRACT STATE MACHINES 2003: ADVANCES IN THEORY AND PRACTICE, PROCEEDINGS, 2003, 2589 : 166 - 185
  • [8] Formal Specification of a Java']JavaScript Module System
    Kang, Seonghoon
    Ryu, Sukyoung
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 621 - 638
  • [9] Design and specification of embedded systems in Java']Java using successive, formal refinement
    Young, JS
    MacDonald, J
    Shilman, M
    Tabbara, A
    Hilfinger, P
    Newton, AR
    [J]. 1998 DESIGN AUTOMATION CONFERENCE, PROCEEDINGS, 1998, : 70 - 75
  • [10] Cost monitoring and enforcement in the real-time specification for java']java - A formal evaluation
    dos Santos, OM
    Wellings, A
    [J]. RTSS 2005: 26TH IEEE INTERNATIONAL REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS, 2005, : 177 - 186