@ARTICLE{oopsla22-solidare, title = "{Synthesis-Powered} Optimization of Smart Contracts via Data Type Refactoring", author = "Chen, Yanju and Wang, Yuepeng and Goyal, Maruth and Dong, James and Feng, Yu and Dillig, I{\c s}il", abstract = "Since executing a smart contract on the Ethereum blockchain costs money (measured in gas), smart contract developers spend significant effort in reducing gas usage. In this paper, we propose a new technique for reducing the gas usage of smart contracts by changing the underlying data layout. Given a smart contract P and a type-level transformation, our method automatically synthesizes a new contract P′ that is functionally equivalent to P. Our approach provides a convenient DSL for expressing data type refactorings and employs program synthesis to generate the new version of the contract. We have implemented our approach in a tool called Solidare and demonstrate its capabilities on real-world smart contracts from Etherscan and GasStation. In particular, we show that our approach is effective at automating the desired data layout transformation and that it is useful for reducing gas usage of smart contracts that use rich data structures.", journal = "Proc. ACM Program. Lang.", publisher = "Association for Computing Machinery", volume = 6, number = "OOPSLA2", month = oct, year = 2022, address = "New York, NY, USA", keywords = "Smart Contract, Program Synthesis, Data Type Refactoring" }