Abstract
Smart contracts are full-fledged programs that run on blockchains (e.g., Ethereum, one of the most popular blockchains). In Ethereum, gas (in Ether, a cryptographic currency like Bitcoin) is the execution fee compensating the computing resources of miners for running smart contracts. However, we find that under-optimized smart contracts cost more gas than necessary, and therefore the creators or users will be overcharged. In this work, we conduct the first investigation on Solidity, the recommended compiler, and reveal that it fails to optimize gas-costly programming patterns. In particular, we identify 7 gas-costly patterns and group them to 2 categories. Then, we propose and develop GASPER, a new tool for automatically locating gas-costly patterns by analyzing smart contracts' bytecodes. The preliminary results on discovering 3 representative patterns from 4,240 real smart contracts show that 93.5%, 90.1% and 80% contracts suffer from these 3 patterns, respectively.
Original language | English |
---|---|
Title of host publication | SANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering |
Publisher | IEEE |
Pages | 442-446 |
Number of pages | 5 |
ISBN (Electronic) | 9781509055012 |
DOIs | |
Publication status | Published - 21 Mar 2017 |
Event | 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2017 - Klagenfurt, Austria Duration: 21 Feb 2017 → 24 Feb 2017 |
Conference
Conference | 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2017 |
---|---|
Country/Territory | Austria |
City | Klagenfurt |
Period | 21/02/17 → 24/02/17 |
ASJC Scopus subject areas
- Software