SELGMar 2, 2021

An Exploratory Study of Log Placement Recommendation in an Enterprise System

arXiv:2103.01755v320 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This work addresses the challenge of efficient logging for developers in industry settings, though it is incremental as it builds on prior ML techniques with specific data.

The study tackled the problem of recommending log placement in enterprise systems by evaluating machine learning models on a large-scale payment company's codebase, achieving up to 79% balanced accuracy and 81% precision, but found that sampling techniques trade off recall for precision and open-source data underperforms.

Logging is a development practice that plays an important role in the operations and monitoring of complex systems. Developers place log statements in the source code and use log data to understand how the system behaves in production. Unfortunately, anticipating where to log during development is challenging. Previous studies show the feasibility of leveraging machine learning to recommend log placement despite the data imbalance since logging is a fraction of the overall code base. However, it remains unknown how those techniques apply to an industry setting, and little is known about the effect of imbalanced data and sampling techniques. In this paper, we study the log placement problem in the code base of Adyen, a large-scale payment company. We analyze 34,526 Java files and 309,527 methods that sum up +2M SLOC. We systematically measure the effectiveness of five models based on code metrics, explore the effect of sampling techniques, understand which features models consider to be relevant for the prediction, and evaluate whether we can exploit 388,086 methods from 29 Apache projects to learn where to log in an industry setting. Our best performing model achieves 79% of balanced accuracy, 81% of precision, 60% of recall. While sampling techniques improve recall, they penalize precision at a prohibitive cost. Experiments with open-source data yield under-performing models over Adyen's test set; nevertheless, they are useful due to their low rate of false positives. Our supporting scripts and tools are available to the community.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes