Abstract
Load-Time Adaptation: Efficient and Non-Intrusive LanguageExtension for Virtual Machines
by: Andrew Duncan and Urs Hï½lzle
Abstract:
The advantages of virtual machine (VM) execution (dynamically loaded, portableobject files with high-level information) also permit changing the semantics ofexecutables. Load-time adaptation (LTA) intercepts the VM\'s file operationsand modifies object code on the fly, without changing the VM implementation,without needing access to source code, and without changing the actual files.We introduce a new technique, library-based LTA, and show how it can extendlanguages in such ways as adding contracts or mixins to existing classes,providing default code for interfaces, and instantiating parameterized types.We discuss an implementation of library-based LTA and its application toextending Java semantics.
Keywords:
Virtual machines, software engineering, dynamic linking, Holzle,Hoelzle
Date:
April 1999
Document: 1999-09