Disassembly as Weighted Interval Scheduling with Learned Weights
Antonio Flores-Montoya, Junghee Lim, Adam Seitz, Akshay Sood, Edward, Raff, James Holt

TL;DR
This paper introduces a generalized disassembly algorithm applicable to multiple architectures, framing conflict resolution as a weighted interval scheduling problem with learned weights, improving accuracy in binary analysis tasks.
Contribution
It presents a novel disassembly approach that models conflict resolution as weighted interval scheduling, applicable across various architectures, with a learned weighting scheme.
Findings
Effective disassembly across x86, x64, arm32, aarch64 architectures.
Improved disassembly accuracy through weighted interval scheduling.
Generalization of disassembly process for diverse architectures.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsManufacturing Process and Optimization
