- 简介本文指出,大型语言模型(LLM)在自动化程序修复(APR)方面已被证明是有效的。然而,使用LLMs可能成本高昂,因为公司按照标记数量向用户收费。因此,本文提出了CigaR,这是第一个以最小化修复成本为重点的基于LLM的APR工具。CigaR分为两个主要步骤:生成第一个可行的修补程序和生成多个可行的修补程序。CigaR通过优化提示和提示设置来最大化向LLMs提供信息,同时使用最少的标记数。我们在广泛使用的Defects4J和HumanEval-Java数据集的429个错误上进行了实验,结果显示CigaR将标记成本降低了73%。平均而言,CigaR每个错误使用127k标记,而基线每个错误使用467k标记。在两者都修复的错误子集中,CigaR每个错误使用20k标记,而基线使用608k标记,成本节省达96%。我们的广泛实验证明,CigaR是一种成本效益高的基于LLM的程序修复工具,可以使用较少的标记数自动生成修补程序。
- 图表
- 解决问题CigaR:一种基于LLM的自动程序修复工具,旨在最小化修复成本。
- 关键思路CigaR通过优化提示和提示设置,最大限度地利用最少数量的令牌来最大化向LLM提供的信息,从而减少修复成本。
- 其它亮点CigaR是第一个专注于最小化修复成本的LLM-based APR工具,可将令牌成本降低73%。实验结果显示,CigaR在平均每个bug上使用127k令牌,而基线使用467k令牌。在两个工具都可以修复的bug子集中,CigaR每个bug使用20k令牌,而基线使用608k令牌,节省了96%的成本。
- 与此相关的最新研究包括:1. Automated Program Repair: A Survey and Directions for Future Research;2. GenProg: A Generic Method for Automatic Software Repair of Single-Fault Programs;3. Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs
沙发等你来抢
去评论
评论
沙发等你来抢