In the standard Java implementation, a Java language program is compiled to Java bytecode and this bytecode 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 veri er that perf
On object initialization in the Java bytecode
β Scribed by S Doyon; M Debbabi
- Publisher
- Elsevier Science
- Year
- 2000
- Tongue
- English
- Weight
- 154 KB
- Volume
- 23
- Category
- Article
- ISSN
- 0140-3664
No coin nor oath required. For personal study only.
β¦ Synopsis
Java is an ideal platform for implementing mobile code systems, not only because of its portability but also because it is designed with security in mind. Untrusted Java programs can be statically analyzed and validated. The program's behavior is then monitored to prevent potentially malicious operations. Static analysis of untrusted classes is carried out by a component of the Java virtual machine called the verifier. The most complex part of the verification process is the dataflow analysis, which is performed on each method in order to ensure type-safety. This paper clarifies in detail one of the tricky aspects of the dataflow analysis: the verification of object initialization. We present and explain the rules that need to be enforced and we then show how verifier implementations can enforce them. Rules for object creation require, among other things, that uninitialized objects never be used before they are initialized. Constructors must properly initialize their this argument before they are allowed to return. This paper also deals with initialization failures (indicated by exceptions): the object being initialized must be discarded, and constructors must propagate initialization failures.
π SIMILAR VOLUMES
The efficient execution of Java programs presents a challenge to hardware and software designers alike. The difficulty, however, lies with the Java bytecodes. Their model of a simplistic, platform-independent stack machine is well-suited for portability, though at the expense of execution speed. Var
## Abstract ## Objective Osteoarthritis (OA) clinical practice guidelines identify a substantial therapeutic role for physical activity, but objective information about the physical activity of this population is lacking. The aim of this study was to objectively measure levels of physical activity