Large-Scale Empirical Study of Inline Assembly on 7.6 Million Ethereum Smart Contracts

Zhou Liao, Shuwei Song, Hang Zhu, Xiapu Luo, Zheyuan He, Renkai Jiang, Ting Chen, Jiachi Chen, Tao Zhang, Xiao song Zhang

Research output: Journal article publicationJournal articleAcademic researchpeer-review

2 Citations (Scopus)

Abstract

Being the most popular programming language for developing Ethereum smart contracts, Solidity allows using inline assembly to gain fine-grained control. Although many empirical studies on smart contracts have been conducted, to the best of our knowledge, none has examined inline assembly in smart contracts. To fill the gap, in this paper, we conduct the first large-scale empirical study of inline assembly on >7.6 million open-source Ethereum smart contracts from three aspects, namely, source code, bytecode, and transactions after designing new approaches to tackle several technical challenges. Through a thorough quantitative and qualitative analysis of the collected data, we obtain many new observations and insights. Moreover, by conducting a questionnaire survey on using inline assembly in smart contracts, we draw new insights from the valuable feedback. This work sheds light on the development of smart contracts as well as the evolution of Solidity and its compilers.

Original languageEnglish
Pages (from-to)1-25
JournalIEEE Transactions on Software Engineering
DOIs
Publication statusPublished - 30 Mar 2022

Keywords

  • Blockchains
  • Codes
  • Ethereum
  • High level languages
  • Open source software
  • Runtime
  • Smart contracts
  • Solidity
  • Writing
  • Yul
  • inline assembly
  • smart contract

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Large-Scale Empirical Study of Inline Assembly on 7.6 Million Ethereum Smart Contracts'. Together they form a unique fingerprint.

Cite this