Idel: a virtual machine for mobile code

Idel is a free virtual machine for safely and portably running untrusted code. This is not a new programming language, but a substrate for existing ones. It's designed to:

be relatively language neutral, able to sandbox unsafe languages like C

control resource consumption

support mobility and persistence (including runtime stack state)

need only an auditably small trusted computing base

yield small object files and fast execution

accommodate capability security mechanisms in a coming release

be easy to incorporate in other programs, the way Tcl is.

This preview release isn't meant for serious use. Some important features are missing, and others will change incompatibly later on.

Here's the latest stable version: idel-0.1.10.tar.gz. It requires GNU Make, awk, sh, and an ANSI C compiler. You can see the README or the ChangeLog before downloading.

The distribution includes these demo applications:

huffman illustrates an algorithm-neutral compression format

illustrates an algorithm-neutral compression format borednet does CPU sharing

does CPU sharing a Roshambo bot competition

I also have some old notes on why this is worth making and old project ideas.

Browse the development version in CVS.

About the name: `idel' is Old English for vain or worthless, and an intended killer app is agoric computing on idle computers. This system used to be named Froth, but that name was already taken.

Mike Leonhard has created another virtual machine inspired by this one for his own education: sebae.