The Incredible Shrinking Context... in a Decompiler Near You
Sifis Lagouvardos, Yannis Bollanos, Neville Grech, Yannis Smaragdakis

TL;DR
Shrknr is a novel static-analysis-based decompiler for Ethereum smart contracts that significantly improves scalability, completeness, and precision over existing tools by employing a new shrinking context sensitivity technique.
Contribution
The paper introduces shrinking context sensitivity, a new static analysis technique that enhances decompiler performance by efficiently managing control-flow context.
Findings
Scales to over 99.5% of contracts in benchmarks
Decompiles 67% more code than previous tools
Reduces imprecision metrics by over 65%
Abstract
Decompilation of binary code has arisen as a highly-important application in the space of Ethereum VM (EVM) smart contracts. Major new decompilers appear nearly every year and attain popularity, for a multitude of reverse-engineering or tool-building purposes. Technically, the problem is fundamental: it consists of recovering high-level control flow from a highly-optimized continuation-passing-style (CPS) representation. Architecturally, decompilers can be built using either static analysis or symbolic execution techniques. We present Shrknr, a static-analysis-based decompiler succeeding the state-of-the-art Elipmoc decompiler. Shrknr manages to achieve drastic improvements relative to the state of the art, in all significant dimensions: scalability, completeness, precision. Chief among the techniques employed is a new variant of static analysis context: shrinking context sensitivity.…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Web Data Mining and Analysis
