Deterministic Fully-Static Whole-Binary Translation without Heuristics

πŸ“… 2026-05-08
πŸ“ˆ Citations: 0
✨ Influential: 0
πŸ“„ PDF

career value

176K/year
πŸ€– AI Summary
Traditional static binary translation struggles to reliably translate complete x86-64 programs to AArch64 in the absence of debugging information, source code, or assumptions about code layout. This work proposes a deterministic whole-program static translation approach that enumerates all possible instruction and data interpretations at the byte level, generating a complete set of candidate interpretations for each byte. By integrating these interpretations with code β€œtiles” automatically derived from high-level ISA semantics, the method synthesizes a fully functional target binary without relying on heuristic rules or runtime fallback mechanisms. For the first time, this enables static translation outputs that can be verified, tested, and signed ahead of execution. Experimental results demonstrate that the approach achieves performance on par with QEMU’s user-mode JIT on real-world benchmarks such as SPECint 2006, albeit at the cost of significantly larger output binary size.
πŸ“ Abstract
We present Elevator, the first binary translator that statically translates entire x86-64 executables to AArch64 without debug information, source code, or assumptions about code layout. Unlike existing systems, which rely on heuristics or runtime fallbacks to handle code-versus-data decoding errors, Elevator considers all possible interpretations of every byte and produces a separate translation for each feasible one ahead of time. Any byte may be interpreted as data, an opcode, or an opcode argument; we generate separate control flow paths for all interpretations, pruning only those leading to abnormal termination. Translations are built by composing code "tiles" automatically derived from a high-level description of the source ISA, yielding a nimble translation framework. The approach is deterministic and produces complete, self-contained binaries with no runtime component in the trusted code base. The principal cost is substantial code size expansion. The key benefit is that the output is the actual code that will run, enabling testing, validation, certification, and cryptographic signing prior to deployment, reducing risk compared to emulators or JIT compilers. We evaluate Elevator on a diverse corpus of real-world binaries, including the entire SPECint 2006 suite, demonstrating that static full-program binary translation can be both reliable and practical. Elevator achieves performance on par with or better than QEMU's user-mode JIT emulation.
Problem

Research questions and friction points this paper is trying to address.

binary translation
static analysis
x86-64 to AArch64
deterministic translation
whole-program translation
Innovation

Methods, ideas, or system contributions that make the work stand out.

static binary translation
deterministic translation
whole-binary translation
heuristic-free decoding
code tiling
πŸ”Ž Similar Papers
No similar papers found.