通过大型语言模型实现的往返翻译可用于自动程序修复,修正语法错误并还原代码中的常见模式,具有在软件工程研究中的潜力。
Jan, 2024
RepairLLaMA 是一种新颖的程序修复方法,结合了 APR 的代码表示和名为 LoRA 的最先进的参数高效 LLM 微调技术,从而产生了一个高度有效的 “程序修复适配器” 来修复语言模型中的错误。
Dec, 2023
机器学习在自动程序修复领域中广泛应用,使用神经机器翻译和大型语言模型生成软件补丁等任务,但与以往的研究存在重要差异,因此评估和比较结果必须谨慎确保其有效性和普遍性,挑战在于现有的评估基准并非针对机器学习技术设计,尤其是大型语言模型,其训练数据集通常庞大且披露不足,可能包含了其所评估的问题。
May, 2024
使用 Codex 这样的大型编程语言模型,在多模式提示、迭代式查询、基于测试用例的少样本选择和程序块组合的帮助下,构建了一个自动编程修复 (MMAPR) 系统来解决学生在 Python 编程课程中常见的语法和语义错误问题,并与已有基线方案相比较得出了较好的结果。
Sep, 2022
本文首次研究并比较了基于大型代码语言模型和基于深度学习的自动化程序修复技术在 Java 漏洞修复方面的能力,结果表明现有的语言模型和程序修复技术修复的 Java 漏洞很少,呼吁创新提高 Java 漏洞修复的自动化程度。
May, 2023
我们基于大型语言模型(LLM)提出了一个名为 PaR 的框架,用于解决高级编程作业中的程序错误修复问题,并通过对新的高级学生作业数据集(Defects4DS)和另一个经过深入调查的 ITSP 数据集的评估,展示了超越现有 LMM - 和基于符号的方法的最新性能提升(分别达到了 19.94%和 15.2%的修复率提高)。
Apr, 2024
采用大型语言模型进行故障定位,通过微调小批量双向适配器层,无需测试覆盖信息定位出有问题的代码行,追踪性能与语言模型的规模相关。
Oct, 2023
在修复自动化程序中,利用大型语言模型 (LLMs) 通过与补全引擎的互动,协同合成出更多有效的补丁,在生成预算相同的情况下,比基础的 LLM 能够产生更多有效和正确的补丁。
Sep, 2023
该论文介绍了 RepairAgent,其是第一个基于大型语言模型(LLM)的自主代理解决程序修复挑战的工作。RepairAgent 通过调用合适的工具来自主规划和执行修复操作,包括收集有关错误的信息、收集修复材料以及验证修复结果,并在先前修复尝试的反馈和信息基础上决定调用哪些工具。该研究表明,RepairAgent 在修复 164 个错误中表现出了良好的效果,并修复了先前技术无法修复的 39 个错误。与 LLM 的交互对每个错误平均造成了 270,000 个 token 的开销,根据 OpenAI GPT-3.5 模型的当前定价,平均每个错误的成本为 14 美分。这项工作是首次提出基于 LLM 的自主代理程序修复技术,为未来软件工程的代理技术铺平了道路。
Mar, 2024
为了促进竞争方法的公平比较和标准化,该研究提出了一个新颖的教育性程序修复基准,对两个高质量的编程数据集进行整理,引入一种新的评估度量指标 rouge@k 来评估修复质量,并评估了五种最近的模型以建立基础性能。