UQBT: Adaptive Binary Translation at Low Cost

Developments in the semiconductor industry have made possible smaller and faster processors for general-purpose computing, portable devices, multipurpose appliances, and system-on-chip designs. Binary translation offers a quick, inexpensive way to migrate software from one processor to another. Although binary-translation techniques are still in their infancy compared to their compiler counterparts, engineers have been using them for 15 years. Just as engineers build compilers partly on the basis of specifications, the authors are developing the University of Queensland Binary Translator (UQBT) on the basis of machine specifications and properties of machines and operating systems. This static binary-translation framework supports various processors, including complex-instruction-set computers (CISC), reduced-instruction-set computers (RISC), and stack-based machines. The authors describe the UQBT framework and discuss their observations while using it to instantiate six different translators across Sun Sparc, Intel Pentium, and Java virtual-machine architectures.

[1]  Cristina Cifuentes,et al.  SRL-a simple retargetable loader , 1997, Proceedings of Australian Software Engineering Conference ASWEC 97.

[2]  Raymond J. Hookway,et al.  DIGITAL FX!32: Combining Emulation and Binary Translation , 1997, Digit. Tech. J..

[3]  Kristy Andrews,et al.  Migrating a CISC computer family onto RISC via object code translation , 1992, ASPLOS V.

[4]  Doug Simon,et al.  Preliminary experience with the use of the UQBT binary translation framework , 1999, PACT 1999.

[5]  Norman Ramsey,et al.  Specifying representations of machine instructions , 1997, TOPL.

[6]  Manuel E. Benitez,et al.  A portable global optimizer and linker , 1988, PLDI '88.

[7]  Doug Simon,et al.  Procedure abstraction recovery from binary code , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[8]  Richard L. Sites,et al.  Binary translation , 1993, CACM.

[9]  Shane Sendall,et al.  Specifying the semantics of machine instructions , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[10]  Cristina Cifuentes,et al.  Recovery of jump table case statements from binary code , 2001, Sci. Comput. Program..