Java Bytecode Verification with Dynamic Structures

C. Bernardeschi, L. Martini, and P. Masci (Italy)


Compilers, Java Card, Bytecode Verification, Dataflow Analysis


Java applets run on a Virtual Machine that checks code's integrity and correctness before execution using a module called Bytecode Verifier. Java Card technology allows Java applets to run on smart cards. Large memory space re quirements of the verification process do not allow the im plementation of a Bytecode Verifier embedded in the Java Card Virtual Machine. To address this feasibility problem, we propose a modified verification algorithm that optimizes the use of system memory. The algorithm, inspired to com pilers' techniques, partitions the code of the methods into control regions. In this way data structures can be dynam ically allocated and the verification process can be applied locally to a subset of instructions.

Important Links:

Go Back