Understanding Solidity Event Logging Practices in the Wild

08/24/2023
by   Lantian Li, et al.
0

Writing logging messages is a well-established conventional programming practice, and it is of vital importance for a wide variety of software development activities. The logging mechanism in Solidity programming is enabled by the high-level event feature, but up to now there lacks study for understanding Solidity event logging practices in the wild. To fill this gap, we in this paper provide the first quantitative characteristic study of the current Solidity event logging practices using 2,915 popular Solidity projects hosted on GitHub. The study methodically explores the pervasiveness of event logging, the goodness of current event logging practices, and in particular the reasons for event logging code evolution, and delivers 8 original and important findings. The findings notably include the existence of a large percentage of independent event logging code modifications, and the underlying reasons for different categories of independent event logging code modifications are diverse (for instance, bug fixing and gas saving). We additionally give the implications of our findings, and these implications can enlighten developers, researchers, tool builders, and language designers to improve the event logging practices. To illustrate the potential benefits of our study, we develop a proof-of-concept checker on top of one of our findings and the checker effectively detects problematic event logging code that consumes extra gas in 35 popular GitHub projects and 9 project owners have already confirmed the detected issues.

READ FULL TEXT

page 6

page 7

page 9

research
06/16/2023

State-Of-The-Practice in Quality Assurance in Java-Based Open Source Software Development

To ensure the quality of software systems, software engineers can make u...
research
02/10/2021

Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox

Modern code review is a common and essential practice employed in both i...
research
04/27/2022

Towards Exploring the Code Reuse from Stack Overflow during Software Development

As one of the most well-known programmer Q A websites, Stack Overflow ...
research
04/28/2023

A Benchmarking Proposal for DevOps Practices on Open Source Software Projects

The popularity of open-source software (OSS) projects has grown signific...
research
01/25/2019

Unveiling Exception Handling Guidelines Adopted by Java Developers

Despite being an old language feature, Java exception handling code is o...
research
10/05/2017

Unusual Events in GitHub Repositories

In large and active software projects, it becomes impractical for a deve...
research
03/12/2018

The family resemblance of technologically mediated work practices

Practice-based perspectives in information systems have established how,...

Please sign up or login with your details

Forgot password? Click here to reset