中文

INTERVENOR:以交互式修复链提示大语言模型的代码能力

软件工程 2024-06-14 v5 人工智能

摘要

本文介绍INTERVENOR(INTERactiVE chaiN Of Repair),一个旨在模拟人类交互式代码修复过程的系统,涵盖代码诊断与代码修复。INTERVENOR提示大语言模型(LLMs)在代码修复过程中扮演不同角色,同时作为代码学习者和代码教师。具体而言,代码学习者负责遵循指令生成或修复代码,而代码教师负责构建修复链(CoR)以作为代码学习者的指导。在生成CoR期间,代码教师需要检查代码学习者生成的代码,并根据编译器收到的错误反馈重新评估如何解决代码缺陷。实验结果表明,INTERVENOR超越基线模型,在代码生成和代码翻译任务上分别比GPT-3.5提升约18%和4.3%。我们的进一步分析表明,CoR能有效阐明缺陷背后的原因并以自然语言列出解决方案计划。借助编译器的反馈,INTERVENOR能准确识别语法错误和断言错误,并提供精确指令修复代码。所有数据与代码可在 https://github.com/NEUIR/INTERVENOR 获取。

关键词

引用

@article{arxiv.2311.09868,
  title  = {INTERVENOR: Prompting the Coding Ability of Large Language Models with the Interactive Chain of Repair},
  author = {Hanbin Wang and Zhenghao Liu and Shuo Wang and Ganqu Cui and Ning Ding and Zhiyuan Liu and Ge Yu},
  journal= {arXiv preprint arXiv:2311.09868},
  year   = {2024}
}

备注

27 pages, 19 figures, 10 tables