探索 LLM 在自动化日志生成中的有效性:一项实证研究
软件工程
2024-04-02 v2
摘要
自动化日志语句生成可辅助开发者记录关键软件运行时行为。鉴于自然语言生成与编程语言理解方面的巨大成功,大语言模型(LLMs)或有助于开发者生成日志语句,但此前尚未被研究。为填补空白,本文首次开展探索 LLM 用于日志语句生成的研究。我们首先构建日志语句生成数据集 LogBench,包含两部分:(1)LogBench-O:从 GitHub 仓库收集的日志语句;(2)LogBench-T:由 LogBench-O 转换得到的未见代码。随后,我们利用 LogBench 评估十一个性能领先的 LLM 的有效性及泛化能力(使用 LogBench-T)。此外,我们将这些 LLM 与 LLM 时代之前的经典基于检索与基于机器学习的日志方法进行比较。我们进一步使用基于代码转换技术得到的未见数据(LogBench-T)评估 LLM 的日志泛化能力。尽管现有 LLM 在日志级别与日志变量上给出尚可的预测,我们的研究表明其最高仅取得 0.249 的 BLEU 分数,因而亟需改进。本文还强调了提示构建及外部因素(如编程上下文与代码注释)对 LLM 日志性能的重要性。基于这些发现,我们总结出五点启示,并为未来日志研究提供实用建议。我们的实证分析揭示了当前日志方法的局限,同时展现了基于 LLM 的日志工具的潜力,并为构建更实用的模型提供可操作指导。
引用
@article{arxiv.2307.05950,
title = {Exploring the Effectiveness of LLMs in Automated Logging Generation: An Empirical Study},
author = {Yichen Li and Yintong Huo and Zhihan Jiang and Renyi Zhong and Pinjia He and Yuxin Su and Lionel Briand and Michael R. Lyu},
journal= {arXiv preprint arXiv:2307.05950},
year = {2024}
}