Understanding Solidity Event Logging Practices in the Wild
Lantian Li, Yejian Liang, Zhihao Liu, Zhongxing Yu

TL;DR
This study analyzes Solidity event logging practices in 2,915 GitHub projects, revealing diverse modification reasons, and provides insights and tools to improve logging efficiency and correctness in smart contract development.
Contribution
First quantitative analysis of Solidity event logging practices in real-world projects, identifying key patterns, issues, and implications for developers and tool builders.
Findings
High prevalence of independent event logging code modifications
Diverse reasons for event logging code changes, including bug fixes and gas optimization
Effective detection of gas-consuming logging issues in real projects
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · Advanced Software Engineering Methodologies
