Strata: A Software Dynamic Translation InfrastructureReport
Software dynamic translation is the alteration of a running program to achieve a specific objective. For example, a dynamic optimizer uses software dynamic translation to modify a running program with the objective of making the program run faster. In addition to its demonstrated utility in dynamic optimizers, software dynamic translation also shows promise for producing applications that are adaptable, secure, and robust. In this paper, we describe the design and implementation of an extensible, retargetable infrastructure to facilitate research in applications of software dynamic translation technology. The infrastructure, called Strata, provides the software dynamic translator implementor with a virtual machine model that can be extended to implement specific software dynamic translation functionality. To illustrate the use of Strata to build client applications, the paper describes the Strata implementation of a two dynamic safety checkers and a dynamic instruction scheduler.
All rights reserved (no additional license for public reuse)
Scott, Kevin, and Jack Davidson. "Strata: A Software Dynamic Translation Infrastructure." University of Virginia Dept. of Computer Science Tech Report (2001).
University of Virginia, Department of Computer Science