Reverse-Engineering Instruction Encodings
Summary
DERIVE is a tool that automatically reverse-engineers ISA encodings by using an assembler as the oracle. It derives opcode masks and bit-field layouts for instructions across multiple architectures and outputs C headers and code emitters to generate binary encodings, enabling fast, automated back-ends for JITs and binary tools. The paper discusses implementation details, limitations, and demonstrates real-world use with a Java VM backend and a cross-architecture evaluation.