Summary
News
Download
Mailing Lists
Publications

CVS
HACKING
TODO
BUGS

Powered by: SourceForge

The Aegis VM Project

Last modified: $Date: 2004/06/26 04:54:05 $

Project Objective

The Aegis VM Project is an on-going, open source effort to develop a lightweight, secure virtual machine for executing Java bytecode. The VM is intended to be an extension framework for applications or devices to dynamically load and execute untrusted software extensions. The current goal is to make the Aegis VM conform to the Foundation Profile of the J2ME Connection Device Configuration.

What differentiates the Aegis VM from other JVM implementations is its modular bytecode verification architecture, Proof Linking. Under this architecture, application-specific verification technologies can be easily integrated into the dynamic linking process of the VM as Pluggable Verification Modules (PVM).

The PVM facility has been fully implemented, and is available in the latest release.

Planned Packages

The Aegis VM software is composed of 3 packages:

  • aegisvm (LGPL): The Aegis VM will be distributed under the GNU Lesser Public License as a C library. Programmers interact with the VM through the Java Native Interface (JNI) API. This makes it easy for users to integrate the VM into an application or a device as an extension framework. A command line wrapper is also available.
  • prelude (LGPL): The Prelude library offers utilities for developing pluggable verification modules and other bytecode analyzers. Specifically, it provides functions for parsing, analyzing and annotating Java classfiles. Also comes with the package is a number of command line utilities that PVM developers will find handy.
  • libjpr (MIT): Both the Aegis VM and the Prelude library are written into a portability layer, the J Portable Runtime (JPR) API, which shields the two libraries from platform-dependent features. The package libjpr is a reference implementation of the JPR API on Linux (x86). Theoretically, porting the two libraries into alternative platforms involve only rewriting libjpr. Unlike libaegisvm and libprelude, libjpr is distributed under the MIT license. The rationale for this choice of license is that, in case you want to port Aegis VM or Prelude to some proprietary platforms, you may do so without disclosing proprietary information.

Project Status

The project is in its pre-alpha development stage. The latest development release of the Aegis VM is 0.2.0. This release requires Prelude 0.2.0 and libjpr 0.2.0. Previous releases can be found here.

Mailing Lists

Contributing to the Project

We do welcome developers to contribute to the development of Aegis VM. Contact the project maintainer if you are interested in helping. You will find the following helpful:

Credits

Publications

The Aegis VM Project implements the Proof Linking verification architecture. Technical papers about this architecture can be found here.