How Do Developers' Profiles and Experiences Influence their Logging Practices? An Empirical Study of Industrial Practitioners

May 14, 2023·
Guoping Rong
Shenghui (Samuel) Gu
Shenghui (Samuel) Gu
,
Haifeng Shen
,
He Zhang
,
Hongyu Kuang
· 0 min read
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