How Do Developers' Profiles and Experiences Influence their Logging Practices? An Empirical Study of Industrial Practitioners
May 14, 2023·
,,·
0 min read
Guoping Rong
Shenghui (Samuel) Gu
Corresponding author
,Haifeng Shen
He Zhang
Hongyu Kuang

Abstract
Logs record the behavioral data of running programs and are typically generated by executing log statements. Software developers generally carry out logging practices with clear intentions and associated concerns (I&Cs). However, I&Cs may not be properly fulfilled in source code as log placement–specifically determination of a log statement’s context and content–is often susceptible to an individual’s profile and experience. Some industrial studies have been conducted to discern developers’ main logging I&Cs and the way I&Cs are fulfilled. However, the findings are only based on the developers from a single company in each individual study and hence have limited generalizability. More importantly, there lacks a comprehensive and deep understanding of the relationships between developers’ profiles and experiences and their logging practices from a wider perspective. To fill this significant gap, we conducted an empirical study using mixed methods comprising questionnaire surveys, semi-structured interviews, and code analyses with practitioners from a wide range of companies across a variety of industrial domains. Results reveal that while developers share common logging I&Cs and conduct logging practices mainly in the coding stage, their profiles and experiences profoundly influence their logging I&Cs and the way the I&Cs are fulfilled. These findings pave the way to facilitate the acceptance of important logging I&Cs and the adoption of good logging practices by developers.
Type
Publication
In International Conference on Software Engineering
Authors

Authors
Shenghui (Samuel) Gu
(he/him)
Postdoctoral Researcher
Postdoctoral Researcher at the University of Ottawa specializing in Trustworthy AI and Software Engineering, holding a Ph.D. from Nanjing University.
Research lies at the intersection of AI Safety and System Reliability, with deep expertise spanning LLM-driven testing, search-based software engineering for autonomous systems, and AIOps for distributed architectures.
Dedicated to developing rigorous, interpretable, and scalable methodologies that leverage generative AI to solve complex validation challenges in safety-critical and large-scale industrial systems.
Authors
Authors
Authors