Experience in the design, implementation and use of a retargetable static binary translation framework

Cristina Cifuentes, Mike Van Emmerik, Norman F. Ramsey, Brian T. R. Lewis · 2002

Binary translation, the process of translating binary executables, makes it possible to run code compiled for source (input) machine M s on target (output) machine M t. Unlike an interpreter or emulator, a binary translator makes it possible to approach the speed of native code on machine M t. Translated code may still run slower than native code because low-level properties of machine M s must often be modeled on machine M t. The University of Queensland Binary Translation (UQBT) framework is a retargetable framework for experimenting with static binary translation on CISC and RISC machines. The system was built jointly by The University of Queensland and Sun Microsystems Laboratories in order to experiment with translations to and from different machines, to understand how to migrate applications from other UNIX®-based platforms to a (SPARC®, Solaris™) platform, and to experiment with translations from the current SPARC architecture to a future, not yet existing, version of the SPARC architecture. This paper describes the overall design and architecture of the UQBT framework, the goals for the project, the resulting framework, experiences with translations across different machines, and lessons learned.

Read the paper · More papers on PaperTik