论文
Google 基于 LLM 的集成测试失败自动诊断
LLM-Based Automated Diagnosis Of Integration Test Failures At Google
摘要
集成测试对于复杂软件系统的质量和可靠性至关重要。然而,由于它们生成的日志数量巨大、非结构化且异构,诊断它们的故障面临着巨大的挑战。这些导致高认知负荷、低信噪比,并使诊断变得困难且耗时。开发人员不断抱怨这些困难,并表示与单元测试失败相比,诊断集成测试失败要花费更多的时间。为了解决这些缺点,我们引入了 Auto-Diagnose,这是一种新颖的诊断工具,它利用 LLM 来帮助开发人员有效地确定集成测试失败的根本原因。自动诊断分析故障日志,生成包含最相关日志行的简明摘要,并集成到 Google 内部代码审查系统 Critique 中,提供上下文和及时帮助。根据我们的案例研究,自动诊断非常有效。对 71 个实际故障进行的手动评估表明,诊断根本原因的准确度为 90.14%。在 Google 范围内部署后,自动诊断被用于 52、635 个不同的失败测试。用户反馈表明,该工具仅在 5.8% 的情况下被认为“没有帮助”,并且在 Critique 上发布调查结果的 370 个工具中,它的有用性排名第 14。最后,用户访谈证实了自动诊断的实用性以及将自动诊断辅助集成到现有工作流程中的积极接受。我们得出的结论是,LLM 由于其处理和总结复杂文本数据的能力,在诊断集成测试失败方面非常成功。将此类人工智能驱动的工具自动集成到开发人员的日常工作流程中得到了积极的评价,该工具的准确性仍然是影响开发人员认知和采用的关键因素。