Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Verified bytecode verifiers: compiling concurrent languages for sequential processors
Klein G., Nipkow T. Theoretical Computer Science298 (3):583-626,2003.Type:Article
Date Reviewed: Jul 21 2003

The aim of this paper is to prove the correctness of an executable bytecode verifier for the downsized version of Java Virtual Machine (JVM). The authors describe &mgr;, an abstraction of the JVM that works on types rather than values. This new machine is faithful: welltypedness on it guarantees the absence of type errors in the concrete JVM operating &mgr; mode.

The key is the organization of Java data types as a semi-lattice (a partially ordered set with supremum), built on the subclass relation, in which the error type err is the greatest element: let M be a method; its type is the list of the state types characterizing the state of the machine before execution of the corresponding instruction. Then the byte code verifier computes a type t for M such that the absence of err in t means that the M is welltyped.

Such a computation is seen as an iterative data flow analysis on the semi-lattice of types: if the method M has the type t, each stage of the iteration is characterized by the work list w of those elements of t that have changed and whose changes still need to be propagated.

One picks a p in w, removes it from w, executes the corresponding instruction, propagates the new state to the successor instructions of p, and adds the possibly modified elements of t to w. The main result of the paper (theorem 10, p. 605) gives conditions insuring that the previous algorithm yields a correct bytecode verifier.

In the last section, the algorithm is extended to object initialization, in order to test if a new object is properly initialized before it is used.

Because the paper is in the very active domain of Java Virtual Machines, the writing is often condensed and hard to follow by a non-specialist. A good bibliography with very recent references provides useful help.

Reviewer:  F. Aribaud Review #: CR127992 (0311-1237)
Bookmark and Share
 
Very High-Level Languages (D.3.2 ... )
 
 
General (F.4.0 )
 
 
General (G.1.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Very High-Level Languages": Date
Design of very high-level computer languages
Klerer M., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780070350984)
Mar 1 1992
Icon semantics--a formal approach to icon system design
Chang S. International Journal of Pattern Recognition and Artificial Intelligence 1(1): 103-120, 1987. Type: Article
Jun 1 1989
High-level languages and software applications: a reference
Birnes W. (ed), McGraw-Hill, Inc., New York, NY, 1989. Type: Book (9789780070053946)
Mar 1 1990
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy