Well-Formed Portable Code

By far, Sun Microsystems' JavaTM byte-codes along with the Java Virtual Machine (JVM) are the best known portable code distribution and execution scheme today. Slim BinariesTM, an intermediate representation used by the portable Oberon-2 compiler and the Juice plug-in, rely on adaptive compression of abstract syntax trees rather than virtual machine instructions. Their benefits include smaller size and amenability to advanced just-in-time (JIT) optimization. For the most part, however, Slim Binaries in their present form are merely a proof of concept; they are intricately tied to the Oberon-2 source language, and use an ad hoc encoding which unnecessarily increases their size. An aim of our work here at UCI is to address these and other issues (such as security) when devising a new, more comprehensive interchange format.

Naturally, a portable representation such as Slim Binaries should preserve the exact semantics of both programs and the data on which they operate, all in a platform-independent manner. Ensuring that this is the case requires, at the very least, that the encoding chosen is rigorously and formally defined, much like a programming language. Unlike a programming language, a portable encoding need not necessarily be readable or understandable; it should, however, be highly compact and as orthogonal as possible.

Perhaps most importantly, the encoding language should be mathematically sound; it should not allow for ambiguities or freedom of interpretation, and should ensure that the invariants of the underlying type system are preserved. To achieve this end, we have undertaken the study of lambda and sigma calculi in all their endless variations. In situations where invariants cannot be enforced by the encoding alone, the distribution format should allow for the incorporation of proof-carrying code.


The following items are available for download (the usual disclaimers apply):
 
Slim Binary(tm) Decompiler TheSlim BinaryTM Decompiler

Follow this link to obtain the latest distribution.
 



HOME PAGE
(C) Copyright 1998-2002 by Ziemowit Laski. All Rights Reserved.