30 Years of Decompilation and the Unsolved Structuring Problem: Part 1
As 2024 begins, I’ve taken a moment to think about the last year(s) of decompilation research, since I spent most of my 2023 working on decompilation. I’ve largely spent that time working on a fundamental area of decompilation research called control flow structuring. Although I find this area critical to decompilation, I realize most security people have only heard of it in passing. With that in mind, I wanted to take a moment to recap the (short) history of binary decompilation and structuring, loosely based on my Ohio State talk on the same topic. I also mix in some of my advisor’s, Dr. Fish Wang, NDSS talk. To clarify, this post will be about binary decompilation, or decompilation on programs produced by compiled languages like C, C++, Rust, and Go. I will focus on the history of decompilation as preliminary information needed to understand the control flow structuring. Luckily (or unluckily?), decompilation as a research area has a relatively small history, even considering non-ac
30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 TL;DR A two-part series on the history of decompiler research and the fight against the unsolved control flow structuring problem. In part 1, we revisit the history of foundational decompilers and techniques, concluding on a look at modern works. In part 2, we deep-dive into the fundamentals of modern control flow structuring techniques, and their limitations, and look to the future. Retrospection As 2024 begins, I’ve taken a moment to think about the la
saved by
related reading
- Speed mattersscattered-thoughts.net
- IDA series, part 1: the Hex-Rays decompilerweb.archive.org
- NYSRGnotes.ekzhang.com
- cs.stanford.edu/~knuth/papers/claude-cycles.pdfcs.stanford.edu
- The Lost Art of Structure Packingcatb.org
- How Compiler Explorer Works in 2025 — Matt Godbolt’s blogxania.org
- claude-cycles.dviwww-cs-faculty.stanford.edu
- CS 6120: The Self-Guided Coursecs.cornell.edu
- [2011.07966] A Modern Compiler for the French Tax Codearxiv.org
- Google's Fully Homomorphic Encryption Compiler — A Primer || Math ∩ Programmingjeremykun.com
- [1912.05036] RVSDG: An Intermediate Representation for Optimizing Compilersarxiv.org
- On solving the Jane Street Reverse Engineering Challengejestoph.com