| A type system for object initialization in the Java bytecode language |
| Full text |
Pdf
(1.91 MB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
Vancouver, British Columbia, Canada
Pages: 310 - 327
Year of Publication: 1998
ISBN:1-58113-005-8
Also published in ...
|
|
Authors
|
|
Stephen N. Freund
|
Department of Computer Science, Stanford University, Stanford, CA
|
|
John C. Mitchell
|
Department of Computer Science, Stanford University, Stanford, CA
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 22, Citation Count: 21
|
|
|
ABSTRACT
In the standard Java implementation, a Java language program is compiled to Java bytecode. This bytecode may be sent across the network to another site, where it is then interpreted by the Java Virtual Machine. Since bytecode may be written by hand, or corrupted during network transmission, the Java Virtual Machine contains a bytecode verifier that performs a number of consistency checks before code is interpreted. As illustrated by previous attacks on the Java Virtual Machine, these tests, which include type correctness, are critical for system security. In order to analyze existing bytecode verifiers and to understand the properties that should be verified, we develop a precise specification of statically-correct Java bytecode, in the form of a type system. Our focus in this paper is a subset of the bytecode language dealing with object creation and initialization. For this subset, we prove that for every Java bytecode program that satisfies our typing constraints, every object is initialized before it is used. The type system is easily combined with a previous system developed by Stata and Abadi for bytecode subroutines. Our analysis of subroutines and object initialization reveals a previously unpublished bug in the Sun JDK bytecode verifier.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
AG96
|
|
| |
Coh97
|
Rich Cohen. Defensive Java Virtual Machine Version 0.5 alpha Release. Available from ht tp: / / www. c I i. corn/software / djvm/index, ht m 1, November 1997.
|
| |
DE97
|
S. Drossopoulou and S. Eisenbach. Java is type safe ---probably. In European Conference On Object Oriented Programming, pages 389-418, 1997.
|
| |
DFW96
|
|
 |
Gol98
|
|
| |
HT98
|
Masami Hagiya and Akihiko Tozawa. On a new method for dataflow analysis of Java Virtual M achi ne subroutines. Available from http://nicosia.is.s.utokyo.ac.j p/members/hagiya.html. A preliminary version appeared in SIG-Notes, PRO-17-3, Information Processing Society of Japan, 1998.
|
| |
Lia97
|
Sheng Liang. personal communication, November 1997.
|
| |
LY96
|
|
 |
MCGW98
|
Greg Morrisett , David Walker , Karl Crary , Neal Glew, From system F to typed assembly language, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.85-97, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268954]
|
 |
NvO98
|
|
| |
PV98
|
|
| |
Qia98
|
|
 |
SA98
|
|
| |
Sar97
|
Vijay Saraswat. The Java bytecode verification problem. Available from http://www.research.att.com/'vj, November 1997.
|
| |
SMB97
|
Emin Grin Sirer, Sean McDirmid, and Brian Betshad. Kimera: A java system architecture. Available from http://kimera.cs.washington.edu, November 1997.
|
| |
Sym97
|
Don Syme. Proving Java type soundness. Technical Report 427, University of Cambridge Computer Laboratory Technical Report, 1997.
|
 |
TMC+96
|
D. Tarditi , G. Morrisett , P. Cheng , C. Stone , R. Harper , P. Lee, TIL: a type-directed optimizing compiler for ML, ACM SIGPLAN Notices, v.31 n.5, p.181-192, May 1996
|
CITED BY 21
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P. Bieber , J. Cazin , P. Girard , J.-L. Lanet , V. Wiels , G. Zanon, Checking secure interactions of smart card applets: extended version, Journal of Computer Security, v.10 n.4, p.369-398, December 2002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|