A formal specification of Java™ class loading

8Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

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. © 2000 ACM.

Cite

CITATION STYLE

APA

Qian, Z., Goldberg, A., & Coglio, A. (2000). A formal specification of JavaTM class loading. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 35(10), 325–336. https://doi.org/10.1145/354222.353193

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free