article · 2003
A Type System for the Java Bytecode Language and Verifier
Stephen N. Freund, John C. Mitchell
Cited by 0Abstract and details only
Abstract
The Java Virtual Machine executes bytecode programs that may have been sent from other, possibly untrusted, locations on the network. Since the transmitted code may be written by a malicious party or corrupted during network transmission, the Java Virtual Machine contains a bytecode verifier to check the code for type errors before it is run. As illustrated by reported attacks on Java run-time systems, the verifier is essential for system security. However, no formal specification of the bytecode verifier exists in the Java Virtual Machine Specification published by Sun. In this paper, we develop such a specification in the form of a type system for a subset of the bytecode language. The subset includes classes, interfaces, constructors, methods, exceptions, and bytecode subroutines. We also present a type checking algorithm and prototype bytecode verifier implementation, and we conclude by discussing other applications of this work. For example, we show how to extend our formal system to check other program properties, such as the correct use of object locks.
Cite this paper
Freund, S. N., & Mitchell, J. C. (2003). A Type System for the Java Bytecode Language and Verifier.
Freund, Stephen N., and John C. Mitchell. “A Type System for the Java Bytecode Language and Verifier.” 2003.
Freund, Stephen N., and John C. Mitchell. 2003. “A Type System for the Java Bytecode Language and Verifier.”
Freund, S.N. and Mitchell, J.C. (2003) ‘A Type System for the Java Bytecode Language and Verifier’.
@article{freund2003type,
title = {{A Type System for the Java Bytecode Language and Verifier}},
author = {Freund, Stephen N. and Mitchell, John C.},
year = {2003}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.