13 天前

像人类一样调试:通过逐步验证运行时执行过程的大型语言模型调试器

Li Zhong, Zilong Wang, Jingbo Shang
像人类一样调试:通过逐步验证运行时执行过程的大型语言模型调试器
摘要

大型语言模型(LLMs)在代码生成领域正推动显著进展。除了传统的单次代码生成之外,近期研究进一步将单元测试与程序验证器融入LLM,实现对生成代码的迭代优化。然而,这些方法将生成的程序视为一个不可分割的整体,导致LLM在调试复杂逻辑流程和数据操作的程序时能力受限。相比之下,人类开发者在调试程序时通常会设置断点,有选择性地检查运行时的执行信息。执行流程以及中间变量在调试过程中起着关键作用,但在现有代码生成研究中仍被严重忽视。在本研究中,我们提出了大型语言模型调试框架(Large Language Model Debugger, LDB),该框架使LLM能够利用运行时执行信息对生成的程序进行有效修正。具体而言,LDB将程序划分为基本块(basic blocks),并在运行时持续追踪每个基本块执行后中间变量的取值。这一机制使LLM能够聚焦于整体执行流程中的简化代码单元,逐块验证其正确性是否符合任务描述,从而高效定位潜在错误。实验结果表明,LDB在HumanEval、MBPP和TransCoder等多个基准测试上,相较于基线方法性能提升最高达9.8%,在不同LLM选型下均实现了代码调试任务的新SOTA(State-of-the-Art)表现。

像人类一样调试:通过逐步验证运行时执行过程的大型语言模型调试器 | 最新论文 | HyperAI超神经