MSR 2023
Dates to be announced Melbourne, Australia
co-located with ICSE 2023
Mon 15 May 2023 11:24 - 11:30 at Meeting Room 109 - Development Tools & Practices I Chair(s): Olga Baysal

Smart contracts are computerized self-executing contracts that contain clauses, which are enforced once certain conditions are met. Smart contracts are immutable by design and cannot be modified once deployed, which ensures trustlessness. Despite smart contracts’ immutability benefits, upgrading contract code is still necessary for bug fixes and potential feature improvements. In the past few years, the smart contract community introduced several practices for upgrading smart contracts. Upgradeable contracts are smart contracts that exhibit these practices and are designed with upgradeability in mind. During the upgrade process, a new smart contract version is deployed with the desired modification, and subsequent user requests will be forwarded to the latest version (upgraded contract). Nevertheless, little is known about the characteristics of the upgrading practices, how developers apply them, and how upgrading impacts contract usage.

This paper aims to characterize smart contract upgrading patterns and analyze their prevalence based on the deployed contracts that exhibit these patterns. Furthermore, we intend to investigate the reasons why developers upgrade contracts (e.g., introduce features, fix vulnerabilities) and how upgrades affect the adoption and life span of a contract in practice.

We collect deployed smart contracts metadata and source codes to identify contracts that exhibit certain upgrade patterns (upgradeable contracts) based on a set of policies. Then we trace smart contract versions for each upgradable contract and identify the changes in contract versions using similarity and vulnerabilities detection tools. Finally, we plan to analyze the impact of upgrading on contract usage based on the number of transactions received and the lifetime of the contract version.

Mon 15 May

Displayed time zone: Hobart change

11:00 - 11:45
Development Tools & Practices IRegistered Reports / Industry Track / Technical Papers at Meeting Room 109
Chair(s): Olga Baysal Carleton University
11:00
12m
Talk
Understanding the Time to First Response In GitHub Pull Requests
Technical Papers
Kazi Amit Hasan Queen's University, Canada, Marcos Macedo Queen's University at Kingston / Universidad de Montevideo, Yuan Tian Queens University, Kingston, Canada, Bram Adams Queen's University, Kingston, Ontario, Ding Steven, H., H. Queen’s University at Kingston
Pre-print
11:12
12m
Talk
Dealing with Popularity Bias in Recommender Systems for Third-party Libraries: How far Are We?
Technical Papers
Phuong T. Nguyen University of L’Aquila, Riccardo Rubei University of L'Aquila, Juri Di Rocco University of L'Aquila, Claudio Di Sipio University of L'Aquila, Davide Di Ruscio University of L'Aquila, Massimiliano Di Penta University of Sannio, Italy
Pre-print
11:24
6m
Talk
Smart Contract Upgradeability on the Ethereum Blockchain Platform: An Exploratory Study
Registered Reports
Ilham Qasse Reykjavik University, Mohammad Hamdaqa Polytechnique Montréal, Björn Þór Jónsson Reykjavik University
11:30
6m
Talk
An Exploratory Study of Ad Hoc Parsers in Python
Registered Reports
Pre-print
11:36
6m
Talk
Improving Agile Planning for Reliable Software Delivery
Industry Track
Jirat Pasuksmit Atlassian, Fan Jiang Atlassian, Kemp Thornton Atlassian, Arik Friedman Atlassian, Natalija Fuksmane Atlassian, Isabelle Kohout Atlassian, Julian Connor Atlassian
Pre-print