Towards a Taxonomy of Software Log Smells

Abstract

Context: Logging is an important part of modern software projects; logs are used in several tasks such as debugging and testing. Due to the complex nature of logging, it remains a difficult task with several pitfalls that could have serious consequences. Several other domains of software engineering have mitigated such threats by identifying the early signs of more serious issues, i.e., 'smells'. However, this concept is not yet properly defined for logging. Objective: The goal of this study is to create a taxonomy of log smells that can help developers write better logging code. To further help the developers and to identify issues that need more attention from the research community, we also map the identified smells to existing tools repairing them. Methods: We conducted a survey of the scientific literature to identify logging issues and related tools. After extracting relevant data from 51 articles, we used open coding to define logging issues and applied card sorting to derive log smells from these issues. Finally, we classified the tools based on their reported output. Results: We present a taxonomy of nine log smells and describe several facets for each of them. We also review existing tools repairing/removing some of these facets, highlighting the lack of tools addressing some log smells and identifying future research opportunities to close this gap. Conclusions: Logging is vulnerable to log smells throughout all phases of its life cycle, and these issues can affect both logging implementation and the resulting log files. Understanding these smells - along with their causes and consequences - can help reduce their occurrence and lead to higher-quality logging.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…