Industry Practices and Event Logging: Assessment of a Critical Software Development Process

  title={Industry Practices and Event Logging: Assessment of a Critical Software Development Process},
  author={Antonio Pecchia and Marcello Cinque and Gabriella Carrozza and Domenico Cotroneo},
  journal={2015 IEEE/ACM 37th IEEE International Conference on Software Engineering},
Practitioners widely recognize the importance of event logging for a variety of tasks, such as accounting, system measurements and troubleshooting. Nevertheless, in spite of the importance of the tasks based on the logs collected under real workload conditions, event logging lacks systematic design and implementation practices. The implementation of the logging mechanism strongly relies on the human expertise. This paper proposes a measurement study of event logging practices in a critical… 
Log-based software monitoring: a systematic mapping study
This analysis shows that logging is challenging not only in open-source projects but also in industry, and machine learning is a promising approach to enable a contextual analysis of source code for log recommendation but further investigation is required to assess the usability of those tools in practice.
A Survey of Software Log Instrumentation
There are two phases in software logging: log instrumentation and log messages, which are used widely in many software systems during software development and field operation.
A Comprehensive Survey of Logging in Software: From Logging Statements Automation to Log Mining and Analysis
A systematic literature review and mapping of the contemporary logging practices and log statements’ mining and monitoring techniques and their applications such as in system failure detection and diagnosis is provided.
A Systematic Review of Logging Practice in Software Engineering
Results show that logging practice plays a vital role in various applications for diverse purposes, however, there are many challenges and problems to be solved and various novel techniques are necessary to guide developers conducting logging practice and improve the performance and efficiency of logging practice.
Can You Capture Information As You Intend To? A Case Study on Logging Practice in Industry
Developers’ original I&C towards logging practice are usually poorly realized, which inevitably impacted the motivation and purpose to conduct this practice.
An Exploratory Study of Logging Configuration Practice in Java
An exploratory study on logging configuration practice of 10 open-source projects and 10 industrial projects written in Java in various sizes and domains quantitatively shows how logging configurations are used with respect to logging management, storage, and formatting.
JLLAR: A Logging Recommendation Plug-in Tool for Java
A plug-in tool based on the Intellij IDEA is designed and implemented, which applied machine learning technology to identify and create a set of rules reflecting commonly recognized logging practices, which can be used to scan existing source code to identify issues regarding the placement of logging statements.
How Is Logging Practice Implemented in Open Source Software Projects? A Preliminary Exploration
Both the inconsistency in density and log level and the convergence of context have forced this paper to question whether it is a reliable means to understand the runtime behavior of software systems via analyzing the logs produced by the current logging practice.
An Interview Study of how Developers use Execution Logs in Embedded Software Engineering
The empirical evidence provided by the study implies the need to support log inspection and comparison with multiple levels of abstraction, categorize log differences, and recover links between different types of logs.
Characterizing Direct Monitoring Techniques in Software Systems
A method to characterize the monitoring techniques implemented in a software system based on a fault injection approach is proposed and allows measuring 1) precision and recall of a monitoring technique and 2) the dissimilarity of the data it generates upon failures.


Where do developers log? an empirical study on logging practices in industry
This study systematically study the logging practices of developers in industry, with focus on where developers log, and demonstrates the high accuracy of up to 90% F-Score in predicting where to log.
Event Logs for the Analysis of Software Failures: A Rule-Based Approach
A rule-based approach is proposed to make logs effective to analyze software failures and leverages artifacts produced at system design time and puts forth a set of rules to formalize the placement of the logging instructions within the source code.
Detection of Software Failures through Event Logs: An Experimental Study
  • A. Pecchia, S. Russo
  • Computer Science
    2012 IEEE 23rd International Symposium on Software Reliability Engineering
  • 2012
Analysis of a data set of 17,387 experiments where failures have been induced by means of software fault injection into three systems shows that characteristics, such as system architecture, placement of the logging instructions and specific supports provided by the execution environment, significantly increase accuracy of logs at runtime.
Characterizing logging practices in open-source software
This study quantitatively shows that software logging is pervasive and provides several interesting findings on where developers spend most of their efforts in modifying the log messages, which can give insights for programmers, tool developers, and language and compiler designers to improve the current logging practice.
Assessing Direct Monitoring Techniques to Analyze Failures of Critical Industrial Systems
An experimental evaluation of different direct monitoring techniques, namely event logs, assertions, and source code instrumentation that are widely used in the context of critical industrial systems, with the aim of analyzing the ability of mentioned techniques to produce information in case of failures.
Improving Software Diagnosability via Log Enhancement
A tool, LogEnhancer, is described that automatically “enhances” existing logging code to aid in future post-failure debugging and can dramatically reduce the set of potential root failure causes that must be considered while imposing negligible overheads.
Formal Analysis of Log Files
In this paper, it is shown that for many systems, in-place logging provides a satisfactory basis for postmortem “runtime” verification of logs, where the overhead is already included in system design.
VAX/VMS event monitoring and analysis
This research uses one of the largest sets of data, and the most intensive investigation of the monitoring process conducted to date, to examine event monitoring and analysis.
A log mining approach to failure analysis of enterprise telephony systems
The experiences with applying log mining techniques to characterize the behavior of large enterprise telephony systems are discussed and solutions are proposed that are general enough to be applicable to other systems logs and can be packaged into automated tools for log analysis.
A Graphical Representation for Identifier Structure in Logs
This paper describes an abstract graphical representation of console logs called the identifier graph and a visualization based on this representation that breaks logs into message types and identifier fields and shows the interrelation between the two.