The Maxine Virtual Machine and Inspector: a highly approachable environment for VM Research
Virtual Machine (VM) technology is an area of critical importance and escalating demands. The majority of software today is written in managed languages such as Java and C#, and new managed languages continue to appear. VM research is needed to explore design alternatives for increased performance and scalability and to experiment with new language features. Systems research of this kind requires a flexible and extensible VM implementation to serve as a testbed. The great progress achieved by existing implementations, however, has come at the cost of complexity that is unmanageable for all but dedicated product engineers. The Maxine Project at Oracle Labs is developing a platform that makes VM research both more "approachable" and "productive" than either existing production VMs or previous generations of Research Virtual Machines (RVMs). One strategy adopted by the Maxine project is to explore ways to use Java, widely understood to be a highly productive language when compared to the traditional VM implementation languages C and C++, as a "systems programming language" suitable for this kind of development. A second strategy is to develop an architecture that both exploits the power of Java and which follows in the research tradition of "meta-circular" language implementations that are essentially "self-implementing". The third strategy is the development and co-evolution of the Maxine Inspector: an all-in-one tool highly specialized for supporting development of the Maxine VM. The inspector leverages code reuse with the Maxine VM and provides a variety of highly productive services for debugging and inspecting the runtime state of the VM at both the machine- and language-level levels of abstraction. The Maxine sources, including VM, Inspector, and other supporting tools, are Open Source and are licensed under GPL version 2.0. They are available at .
Michael Van De Vanter is a member of the Maxine project, building developer tools for a next generation Java Virtual Machine. He was previously a member of the Core Productivity Team working on Sun's DARPA funded supercomputer project, and before that Principal Investigator of the Sun Labs Jackpot Project, whose technology has now been transferred to the NetBeans Integrated Development Environment. Dr. Van De Vanter's research interests include advanced program editing systems, High Performance Computing, software development methodologies, source code analysis for developer tools, source code management and configuration control, and the human factors of software development. He may be reached via firstname.lastname@example.org.