How to Save My Gas Fees: Understanding and Detecting Real-world Gas Issues in Solidity Programs
Not on the map. Why?
Abstract (arXiv)
The execution of smart contracts on Ethereum, a public blockchain system, incurs a fee called gas fee for its computation and data storage. When programmers develop smart contracts (e.g., in the Solidity programming language), they could unknowingly write code snippets that unnecessarily cause more gas fees. These issues, or what we call gas wastes, can lead to significant monetary losses for users. This paper takes the initiative in helping Ethereum users reduce their gas fees in two key steps. First, we conduct an empirical study on gas wastes in open-source Solidity programs and Ethereum transaction traces. Second, to validate our study findings, we develop a static tool called PeCatch to effectively detect gas wastes in Solidity programs, and manually examine the Solidity compiler's code to pinpoint implementation errors causing gas wastes. Overall, we make 11 insights and four suggestions, which can foster future tool development and programmer awareness, and fixing our detected bugs can save 0.76 million in gas fees daily.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). First posted on arXiv 5 Mar 2024.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 2; 2026: 1.
3 papers.
- 2025GasAgent: A Multi-Agent Framework for Automated Gas Optimization in Smart Contractscited by 5
- 2025SymGPT: Auditing Smart Contracts via Combining Symbolic Execution with Large Language Modelscited by 2
- 2026RAGas: Retrieval-Augmented Gas Optimization for Smart Contracts with Continuous Knowledge Integrationcited by 0
- 2026RAGas: Retrieval-Augmented Gas Optimization for Smart Contracts with Continuous Knowledge Integration16 Aug 2026
- 2025GasAgent: A Multi-Agent Framework for Automated Gas Optimization in Smart Contracts21 Jul 2025
- 2025SymGPT: Auditing Smart Contracts via Combining Symbolic Execution with Large Language Models11 Feb 2025