[论文解读] A Comprehensive Survey of Logging in Software: From Logging Statements Automation to Log Mining and Analysis
本篇全面综述系统性地回顾了软件系统中的日志实践,涵盖从自动化日志语句生成到高级日志挖掘与分析技术的全过程。该研究综合了来自顶级会议与期刊的超过100项研究,识别出关键趋势,并概述了在日志自动化、异常检测、故障诊断以及AIOps方面的挑战与机遇,为未来软件日志与日志分析研究提供了基础性路线图。
Logs are widely used to record runtime information of software systems, such as the timestamp and the importance of an event, the unique ID of the source of the log, and a part of the state of a task's execution. The rich information of logs enables system developers (and operators) to monitor the runtime behaviors of their systems and further track down system problems and perform analysis on log data in production settings. However, the prior research on utilizing logs is scattered and that limits the ability of new researchers in this field to quickly get to the speed and hampers currently active researchers to advance this field further. Therefore, this paper surveys and provides 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. We study a large number of conference and journal papers that appeared on top-level peer-reviewed venues. Additionally, we draw high-level trends of ongoing research and categorize publications into subdivisions. In the end, and based on our holistic observations during this survey, we provide a set of challenges and opportunities that will lead the researchers in academia and industry in moving the field forward.
研究动机与目标
- 为解决以往关于软件日志研究的零散状态,提供一个统一且系统性的日志实践与日志分析技术综述。
- 识别并分类现有研究,形成清晰的子领域,如日志自动化、日志解析、异常检测与故障诊断。
- 分析日志研究随时间的演变,突出日志管理与分析中的关键趋势与反复出现的挑战。
- 提供对日志挖掘与分析当前技术水平的全面理解,包括在AIOps、DevOps与系统监控中的应用。
- 识别开放性挑战与新兴机遇,以推动软件日志与日志驱动的系统诊断研究与实践的发展。
提出的方法
- 对2005年至2021年间发表于顶级会议与期刊的112篇同行评审论文进行了系统性文献综述(SLR)与系统性映射(SM)。
- 根据研究重点,将研究分类为主题类别:日志自动化、日志解析、日志分析、异常检测、故障诊断以及新兴应用。
- 采用滚雪球法(snowballing)技术,识别并纳入初始关键词搜索未覆盖的相关研究。
- 分析各子领域中的出版趋势、引用模式与方法论路径,以识别研究空白与新兴方向。
- 评估各种日志挖掘与分析技术(包括机器学习与统计模型)的有效性与局限性。
- 将研究发现整合为对挑战的结构化概述,如日志异质性、可扩展性与日志成本,并提出未来研究方向。
实验结果
研究问题
- RQ12005年至2021年期间,软件日志研究的主导主题与趋势是什么?
- RQ2日志语句自动化与日志挖掘技术随时间如何演变?其主要局限性是什么?
- RQ3在分布式与云系统中,基于日志的异常检测与故障诊断最有效的技术方法有哪些?
- RQ4现有日志分析技术如何与AIOps、DevOps与系统监控流水线集成?
- RQ5日志管理中的主要挑战有哪些,包括性能开销、解析准确率与工具互操作性?
主要发现
- 软件日志领域已从基础日志生成发展为高级日志挖掘与AIOps,机器学习在异常检测与故障诊断中的应用日益广泛。
- 尽管已有进展,日志自动化仍主要依赖人工操作且缺乏系统性,尚无标准化的日志最佳实践指南。
- 由于日志消息在不同系统与平台间具有自由格式与异质性,日志解析与标准化仍是主要挑战。
- 基于机器学习的日志分析技术,特别是无监督与半监督模型,在无需标注数据的情况下检测异常方面展现出强大潜力。
- 基于日志的故障诊断技术,如事件相关性挖掘与数据流重建,显著提升了在分布式系统中根因识别的准确性。
- 日志在代码覆盖率估算、能效影响分析与用户行为建模等新兴应用中的使用,凸显了日志在调试之外的扩展作用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。