CigaR:基于 LLM 的高成本效益程序修复
软件工程
2024-07-12 v2 机器学习
摘要
大型语言模型(LLM)已被证明在自动程序修复(APR)方面行之有效。然而,使用 LLM 可能成本高昂,因为公司会按 token 数量向用户收费。在本文中,我们提出了 CigaR,这是首个专注于最小化修复成本的基于 LLM 的 APR 工具。CigaR 分为两个主要步骤:生成第一个可行补丁和倍增可行补丁。CigaR 优化提示词和提示设置,以使用尽可能少的 token 向 LLM 提供最大量的信息。我们在广泛使用的 Defects4J 和 HumanEval-Java 数据集上的 429 个 bug 进行的实验表明,CigaR 将 token 成本降低了 73%。平均而言,CigaR 每个 bug 花费 12.7 万 token,而基线方法每个 bug 花费 46.7 万 token。在两者都能修复的 bug 子集中,CigaR 每个 bug 花费 2 万 token,而基线方法花费 60.8 万 token,成本节省了 96%。我们广泛的实验表明,CigaR 是一种具有成本效益的基于 LLM 的程序修复工具,它使用少量 token 自动生成补丁。
引用
@article{arxiv.2402.06598,
title = {CigaR: Cost-efficient Program Repair with LLMs},
author = {Dávid Hidvégi and Khashayar Etemadi and Sofia Bobadilla and Martin Monperrus},
journal= {arXiv preprint arXiv:2402.06598},
year = {2024}
}