Binary Translation - Static Binary Translation

Static Binary Translation

A translator using static binary translation aims to convert all of the code of an executable file into code that runs on the target architecture without having to run the code first, as is done in dynamic binary translation. This is very difficult to do correctly, since not all the code can be discovered by the translator. For example, some parts of the executable may be reachable only through indirect branches, whose value is known only at run-time.

One such static binary translator uses universal superoptimizer peephole technology (developed by Sorav Bansal, and Alex Aiken from Stanford University) to perform efficient translation between possibly many source and target pairs, with considerably low development costs and high performance of the target binary. In experiments of PowerPC-to-x86 translations, some binaries even outperformed native versions, but on average they ran at two-thirds of native speed.

Read more about this topic:  Binary Translation

Famous quotes containing the word translation:

    Well meant are the wounds a friend inflicts, but profuse are the kisses of an enemy.
    Bible: Hebrew, Proverbs 27:6.

    KJ translation reads: Faithful are the wounds of a friend.