Precise Static Modeling of Ethereum “Memory”
summary
Declarative modeling of EVM memory using datalog rules and a gigahorse decompiler recovers source-level arguments and array allocations from low-level MSTORE/MLOAD/SHA3 patterns, modeling 92.7% of MLOADs and 94.6% of MSTOREs across 70,063 verified contracts. A repeated-calls detector using this model achieves 85.9% precision versus Securify’s 16.1%. A fallback gas analysis reports 1,468 warnings; dynamic replays hit 292 cases and confirm 272 failures for a 93% precision. Work informs EIP impact and wins Ethereum Foundation recognition.
AI-written summary · about
chapters (19)
- 0:00Precise Static Modeling of Ethereum "Memory"
- 0:13Ethereum: a programmable blockchain
- 0:49Ethereum Virtual Machine (EVM)
- 1:19Solidity Smart Contract Example
- 2:24"Memory" hides a lot of implicit computation!
- 3:17Smart Contract Example - Decompiled
- 5:35Main takeaway: High-level memory abstractions from low-level input
- 6:28Analysis - Input
- 7:10Analysis - Interfacing and mutually recursive analysis modules
- 7:49Analysis - Intermediate and output relations
- 8:21Analysis - Symbolic Value Creation
- 9:13A taste: memory analysis recursive with others
- 9:41A taste of final outputs
- 10:28Evaluation - General Metrics
- 10:45Memory modeling benefits analysis of external calis
- 11:00Client Analysis - Repeated Calls
- 12:08Evaluation - Repeated Calls
- 12:42Client Analysis - Gas Consumption - EIP-1884
- 14:01Evaluation - EIP-1884 Gas Cost
related talks
15mSymbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart Contracts
31mSo, you think you can write an EVM decompiler?
21mWeak Memory Demands Model-based Compiler Testing
14mMaat: Analyzing and Optimizing Overcharge on Blockchain Storage
15mSymbolic MRD: Dynamic Memory, Undefined Behaviour, and Extrinsic Choice
01h 06mKeynote: Memory of Past and Future – Wasm’s Evolving Model of Store
22mReconciling High-level Optimizations and Low-level Code in LLVM
19mVarLifter: Recovering Variables and Types from Bytecode of Solidity Smart Contracts
