Robust Foundation for Binary Translation of X86 Code( PostScript version, PDF version)
Liang-Chuan Hsu
Phd thesis, Department of Computer Science, University of Illinois, Urbana IL, June 1997

Software venders are unwilling to compile new software for a new processor until the marketplace of the processor becomes large enough. As a result, utilization of most new hardware features is delayed. Binary Translation allows programs compiled for older machines to take advantage of all the new features that have since been added. Binary translation can help introduce new instruction set architecture (ISA) features to the software base.

This dissertation develops a solid foundation for binary translation. A hybrid approach to resolving all of branch target problems is proposed and evaluated. It attempts to resolve as many targets as possible statically, and uses a run-time support when the target cannot be resolved at translation time.

Self-modifying code is one of the major hurdles to binary translation. This dissertation describes a self-modifying code detector to prevent the binary translator from translating self-modifying code. In order to illustrate the usefulness of the binary translation framework, an optimizer that improves the load time of executable is designed and implemented in the framework.


[ IMPACT Main Page | Team Members | Publications | Software | FAQ ]