~/talk

Synthesis-Powered Optimization of Smart Contracts via Data Type Refactoring

Talkat OOPSLA 2022 · 2022-12-05..12-10· [smart-contracts]
links:none on file
links:none on file
links:none on file
links:none on file
name:Yu Feng
links:none on file
slides:none on file

Tool called Solidare uses a small DSL plus optimal program synthesis (sketch generation, sketch completion, equivalence checking) and a static gas-cost proxy to refactor Solidity data types into new layouts. On benchmarks from Etherscan and GasStation it synthesizes functionally equivalent contracts in a median time under 1s (avg 21s), improves 18/20 Etherscan cases (avg ~60% gas saved) and 6/10 GasStation cases (up to ~10% reported), and typically rewrites about 53 lines changed across benchmarks.

AI-written summary · about

  1. 0:00Smart contract optimization intro
  2. 1:23Gas efficiency in smart contracts
  3. 2:27Data layout for gas savings
  4. 3:29Synthesis-powered type refactoring
  5. 4:54Program synthesis challenges
  6. 5:59Tool overview and inputs
  7. 7:04Data type transformation example
  8. 8:31Type propagation in variables
  9. 9:12Code synthesis sketch generation
  10. 12:45Statement-level sketch details
  11. 13:28Sketch completion for gas optimality
  12. 14:32Synthesis constraint encoding
  13. 15:35Minimal failing subcontract
  14. 17:00Evaluation setup and benchmarks
  15. 18:03Code generation efficiency results
  16. 19:30Gas savings with Solitaire
  17. 20:52Code modification effort
  18. 21:56Conclusion and tool features
  19. 22:43Q&A
  20. 23:03Encoding expressions in synthesis
  21. 24:30Incentives for contract optimization
  22. 26:19Adapting to gas cost changes
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.