Disassembly as Weighted Interval Scheduling with Learned Weights

Abstract
Disassembly is the first step of a variety of binary analysis and transformation techniques, such as reverse engineering, or binary rewriting. Recent disassembly approaches consist of three phases: an exploration phase, that overapproximates the binary's code; an analysis phase, that assigns weights to candidate instructions or basic blocks; and a conflict resolution phase, that downselects the final set of instructions. We present a disassembly algorithm that generalizes this pattern for a wide range of architectures, namely x86, x64, arm32, and aarch64. Our algorithm presents a novel conflict resolution method that reduces disassembly to weighted interval scheduling.
View on arXiv@article{flores-montoya2025_2505.01536, title={ Disassembly as Weighted Interval Scheduling with Learned Weights }, author={ Antonio Flores-Montoya and Junghee Lim and Adam Seitz and Akshay Sood and Edward Raff and James Holt }, journal={arXiv preprint arXiv:2505.01536}, year={ 2025 } }
Comments on this paper