A fly in the ointment: an empirical study on the characteristics of Ethereum smart contract code weaknesses

Majd Soud*, Grischa Liebel, Mohammad Hamdaqa

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Context: Smart contracts are programs that are automatically executed on the blockchain. Code weaknesses in their implementation have led to severe loss of cryptocurrency. It is essential to understand the nature of code weaknesses in Ethereum smart contracts to prevent them in the future. Existing classifications are limited in several ways, e.g., in the breadth of data sources, and the generality of proposed categories. Objective: We aim to characterize code weaknesses in Ethereum smart contracts written in Solidity, and provide an overview of existing classification schemes in relation to this characterization. Method: We extracted code weaknesses in Ethereum smart contracts from two public coding platforms and two vulnerability databases and categorized them using an open card sorting approach. We devised a classification scheme of smart contract code weaknesses according to their error source and impact. Afterwards, we mapped existing classification schemes to our classification. Results: The resulting classification consists of 11 categories describing the error source of code weaknesses and 13 categories describing potential impacts. Our findings show that the language specific coding and the structural data flow categories are the dominant categories, but that the frequency of occurrence differs substantially between the data sources. Conclusions: Our findings enable researchers to better understand smart contract code weaknesses by defining various dimensions of the problem and supporting our classification with mappings with literature-based classifications and frequency distributions of the defined categories.

Original languageEnglish
Article number13
JournalEmpirical Software Engineering
Volume29
Issue number1
DOIs
Publication statusPublished - 30 Nov 2023

Bibliographical note

Publisher Copyright:
© 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.

Other keywords

  • Blockchain
  • Code weakness
  • Ethereum
  • Smart contracts
  • Software security
  • Solidity

Fingerprint

Dive into the research topics of 'A fly in the ointment: an empirical study on the characteristics of Ethereum smart contract code weaknesses'. Together they form a unique fingerprint.

Cite this