ESEIW 2024
Sun 20 - Fri 25 October 2024 Barcelona, Spain

Background. A smart contract is a computer program enclosing the terms of a legal agreement between two or more parties which is automatically verified and executed via a computer network called blockchain. Once a smart contract transaction is completed the blockchain is updated and the transaction cannot be changed anymore. This implies that any error codified in the smart contract program cannot be rectified. Therefore, it is of vital importance that developers of smart contracts properly exploit error handling to prevent issues during and after the contract execution. Existing programming languages for smart contracts, support developers in this task by providing a set of Error Handling (EH) features. However, it is unclear the extent to which developers effectively use EH in practice. Aims. Our work aims to fill this gap by empirically investigating the state of practice on the adoption of EH features of one of the most popular programming languages for smart contracts, namely Solidity. Method. We empirically analyse the usage of EH features in 283K unique open-source Solidity smart contracts for the Ethereum blockchain. Results. Our analysis of the documentation of the different versions of Solidity coupled with the empirical evaluation of the EH uses and misuses found in real-word smart contracts, indicate that, among other things, Solidity EH features have been changing frequently across versions, and that the adoption of most of the Solidity EH features has been limited in practice. However, we observe an upward trend in the usage of the require EH feature, which is specifically designed for smart contract development. Conclusions. The insights from our study could help developers improve their EH practice as well as designers of smart contract programming languages to equip their language with appropriate EH features.

Fri 25 Oct

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

16:00 - 17:00
Empirical studies for programming languages challengesESEM Technical Papers / ESEM Emerging Results, Vision and Reflection Papers Track at Telensenyament (B3 Building - 1st Floor)
Chair(s): Julian Frattini Blekinge Institute of Technology
16:00
20m
Full-paper
Cross-Language Dependencies: An Empirical Study of Kotlin-Java
ESEM Technical Papers
Qiong Feng Nanjing University of Science and Technology, Huan Ji Huawei Nanjing Research Center, Xiaotian Ma Nanjing University of Science and Technology, Peng Liang Wuhan University, China
Pre-print Media Attached
16:20
20m
Full-paper
Broken Agreement: The Evolution of Solidity Error Handling
ESEM Technical Papers
Charalambos Ioannis Mitropoulos Technical University of Crete, Maria Kechagia University College London, Chrysostomos Maschas GRNET, Sotirios Ioannidis Technical University of Crete, Federica Sarro University College London, Dimitris Mitropoulos University of Athens
16:40
15m
Vision and Emerging Results
Rusty Linux: Advances in Rust for Linux Kernel Development
ESEM Emerging Results, Vision and Reflection Papers Track
Shane Panter Boise State University, Nasir Eisty Boise State University