OpenEduTech / EduTechResearch

云原生、计算教育、软件过程与软件流程研究
Apache License 2.0
18 stars 8 forks source link

[Paper Recommendation] Self-Supervised Log Parsing #41

Open lijinlus opened 1 year ago

lijinlus commented 1 year ago

Title

Self-Supervised Log Parsing

Link

https://link.springer.com/chapter/10.1007/978-3-030-67667-4_8

Year

2021

Conference or Journal

[ECMLPKDD]

Rank

ccf-b

Keywords

Representation learning Log parsing Transformers Anomaly detection IT systems

Abstract

Logs are extensively used during the development and maintenance of software systems. They collect runtime events and allow tracking of code execution, which enables a variety of critical tasks such as troubleshooting and fault detection. However, large-scale software systems generate massive volumes of semi-structured log records, posing a major challenge for automated analysis. Parsing semi-structured records with free-form text log messages into structured templates is the first and crucial step that enables further analysis. Existing approaches rely on log-specific heuristics or manual rule extraction. These are often specialized in parsing certain log types, and thus, limit performance scores and generalization. We propose a novel parsing technique called NuLog that utilizes a self-supervised learning model and formulates the parsing task as masked language modeling (MLM). In the process of parsing, the model extracts summarizations from the logs in the form of a vector embedding. This allows the coupling of the MLM as pre-training with a downstream anomaly detection task. We evaluate the parsing performance of NuLog on 10 real-world log datasets and compare the results with 12 parsing techniques. The results show that NuLog outperforms existing methods in parsing accuracy with an average of 99% and achieves the lowest edit distance to the ground truth templates. Additionally, two case studies are conducted to demonstrate the ability of the approach for log-based anomaly detection in both supervised and unsupervised scenario. The results show that NuLog can be successfully used to support troubleshooting tasks. The implementation is available at https://github.com/nulog/nulog.