IEEE Access (Jan 2019)

Dynamic Translation Optimization Method Based on Static Pre-Translation

  • Jun Wang,
  • Jianmin Pang,
  • Xiaonan Liu,
  • Feng Yue,
  • Jie Tan,
  • Liguo Fu

DOI
https://doi.org/10.1109/ACCESS.2019.2897611
Journal volume & issue
Vol. 7
pp. 21491 – 21501

Abstract

Read online

Binary translation technology is an effective method to solve the problem of software cross-platform transplantation, especially for software porting without source code. Static binary translation has a good translation effect in general, but it faces the problem of code discovery. Dynamic binary translation can completely reproduce the execution process of the source program according to the execution order of the binary code. But it is severely limited by its low efficiency, as the time of translation is part of the whole runtime and it is no time for better code optimization in dynamic binary translation. This paper aims to optimize the execution process of dynamic binary translation by taking full advantage of the strengths of static binary translation. An optimization method of dynamic binary translation with static pre-translation was proposed in this paper. By pre-translating the source program and using more in-depth code optimization method to optimize the translated code, most of the code translation time can be cut down and the translated code will be more efficient. A new dynamic translation framework with the static pre-translation module, based on the dynamic translator named QEMU (a quick emulator), was designed to translate the $\times $ 86 program to the Sunway platform. As the experimental results show, the framework and optimization method are valid to improve the efficiency of the general dynamic translator.

Keywords