-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #275 from chamitro/master
add seminar for EMSE conference
- Loading branch information
Showing
1 changed file
with
35 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
title: Broken Agreement: The Evolution of Solidity Error Handling | ||
presenter: Charalambos Mitropoulos, TUC | ||
date: 2024-10-02 | ||
time: 14:30 | ||
category: seminars | ||
|
||
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 em- | ||
pirically 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. |