Skip to content

Commit

Permalink
Merge pull request #275 from chamitro/master
Browse files Browse the repository at this point in the history
add seminar for EMSE  conference
  • Loading branch information
dspinellis authored Sep 25, 2024
2 parents b6fe3b0 + 01b05b4 commit f3735eb
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions content/seminars/2024-10-02.md
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.

0 comments on commit f3735eb

Please sign in to comment.