LLM2D
ChatDBG:一款人工智能驱动的调试助手
ChatDBG: An AI-Powered Debugging Assistant
发布日期: 9/25/2024
arXiv ID: oai:arXiv.org:2403.16354v2

摘要

调试是程序员一项至关重要的但极具挑战的任务。本文提出了 ChatDBG,一款由人工智能驱动的调试助手。ChatDBG 集成了大型语言模型 (LLM),显著增强了传统调试器的功能和用户友好性。ChatDBG 允许程序员与调试器进行协作式对话,使他们能够提出关于程序状态的复杂问题,对崩溃或断言失败进行根本原因分析,并探索开放式查询,例如“为什么 x 为空?”。为了处理这些查询,ChatDBG 赋予 LLM 自主权“掌控方向”:它可以充当独立代理,能够查询和控制调试器以遍历堆栈并检查程序状态。然后,它报告其发现并将控制权交还给程序员。我们的 ChatDBG 原型与标准调试器集成,包括用于本机代码的 LLDB 和 GDB 以及用于 Python 的 Pdb。我们在各种代码(包括带有已知错误的 C/C++ 代码和包含独立脚本和 Jupyter 笔记本的 Python 代码套件)上的评估表明,ChatDBG 可以成功地分析根本原因、解释错误并为各种现实世界错误生成准确的修复。对于 Python 程序,单个查询有 67% 的时间会导致可操作的错误修复;一个额外的后续查询将成功率提高到 85%。ChatDBG 已经得到了快速采用;它已经被下载了大约 50,000 次。