scispace - formally typeset
Proceedings ArticleDOI

LogOpt: Static Feature Extraction from Source Code for Automated Catch Block Logging Prediction

TLDR
This work proposes 'LogOpt' tool to help developers in making informed logging decision which uses static features from source code to make catch block logging decision, and evaluated LogOpt on two large open source projects Apache Tomcat and CloudStack.
Abstract
Software logging is an important software development practice which is used to trace important software execution points. This execution information can provide important insight to developer while software debugging. Inspite of many benefits logging is often done in an ad-hoc manner based only on knowledge and experience of software developer because of lack of formal guidelines and training required for making strategic logging decision. It is known that appropriate logging is beneficial for developers but inappropriate logging can have adverse effect on the system. Excessive logging can not only cause performance and cost overhead, it can also lessen the benefit of logging by producing tons of useless logs. Sparse logging can make logging ineffective by leaving out important information. In order to lessen the load of software developers and to improve the quality of software logging, in this work we propose 'LogOpt' tool to help developers in making informed logging decision. LogOpt uses static features from source code to make catch block logging decision. LogOpt is a machine learning based framework which learns the characteristics of logged and unlogged training instance to make informed logging decision. We manually analyze snippets of logged and unlogged source code and extracted 46 distinguishing features important in making logging decision. We evaluated LogOpt on two large open source projects Apache Tomcat and CloudStack (nearly 1.41M LOC). Results show that LogOpt is effective for automated logging task.

read more

Citations
More filters
Journal ArticleDOI

Studying software logging using topic models

TL;DR: It is highlighted that topics contain valuable information that can help guide and drive developers’ logging decisions, and topic-based metrics help explain the likelihood of a code snippet being logged.
Proceedings ArticleDOI

Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness

TL;DR: Experimental results demonstrates that the model developed by considering selected set of source code metrics by feature selection technique as input achieves better results as compared to considering allsource code metrics.
Journal ArticleDOI

A Survey of Software Log Instrumentation

TL;DR: 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.
Journal ArticleDOI

ECLogger: Cross-Project Catch-Block Logging Prediction Using Ensemble of Classifiers

TL;DR: The proposed method is ECLogger, which is a novel, ensemble-based, cross-project, catch-block logging prediction model, which was evaluated on on three open-source Java projects: Tomcat, CloudStack and Hadoop.
Proceedings ArticleDOI

LogOptPlus: Learning to Optimize Logging in Catch and If Programming Constructs

TL;DR: This work proposes LogOptPlus, a machine learning based tool to help software developers to optimize the number of log statements in the source code, for two focused code construct types, and extends the functionality of LogOpt to predict logging for both if-blocks and catch-blocks.
References
More filters
Proceedings Article

Structured comparative analysis of systems logs to diagnose performance problems

TL;DR: DISTALYZER is described, an automated tool to support developer investigation of performance issues in distributed systems that uses machine learning techniques to compare system behaviors extracted from the logs and automatically infer the strongest associations between system components and performance.
Proceedings ArticleDOI

Improving software diagnosability via log enhancement

TL;DR: 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 during diagnosis while imposing negligible overheads.
Proceedings ArticleDOI

Characterizing logging practices in open-source software

TL;DR: 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.
Proceedings ArticleDOI

Where do developers log? an empirical study on logging practices in industry

TL;DR: 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.
Proceedings ArticleDOI

Learning to log: helping developers make informed logging decisions

TL;DR: This paper provides the design and implementation of a logging suggestion tool, Log Advisor, which automatically learns the common logging practices on where to log from existing logging instances and further leverages them for actionable suggestions to developers.
Related Papers (5)