使用大型语言模型进行往返翻译的自动程序修复新方法
RepairLLaMA 是一种新颖的程序修复方法,结合了 APR 的代码表示和名为 LoRA 的最先进的参数高效 LLM 微调技术,从而产生了一个高度有效的 “程序修复适配器” 来修复语言模型中的错误。
Dec, 2023
机器学习在自动程序修复领域中广泛应用,使用神经机器翻译和大型语言模型生成软件补丁等任务,但与以往的研究存在重要差异,因此评估和比较结果必须谨慎确保其有效性和普遍性,挑战在于现有的评估基准并非针对机器学习技术设计,尤其是大型语言模型,其训练数据集通常庞大且披露不足,可能包含了其所评估的问题。
May, 2024
使用 Codex 这样的大型编程语言模型,在多模式提示、迭代式查询、基于测试用例的少样本选择和程序块组合的帮助下,构建了一个自动编程修复 (MMAPR) 系统来解决学生在 Python 编程课程中常见的语法和语义错误问题,并与已有基线方案相比较得出了较好的结果。
Sep, 2022
本文研究了一种新的适用于程序修复的方法,发现目标对齐对于充分利用 LLM 的预训练能力是关键的,并通过直接调试替代传统的定位 - 修复工作流程,提出了一种新的思路来利用 LLMs 进行 APR。
Apr, 2024
通过往返翻译(RTT)方法防御大规模语言模型(LLM)上的社会工程攻击,提出了一种多功能、轻量级且可转移的算法,成功缓解了超过 70% 的攻击,并且减少了 MathsAttack 的攻击成功率近 40%。
Feb, 2024
本研究提出利用 LLMS 模型为基础的多语言自动修复引擎 RING,通过一个基于提示的定位、转化和排序策略,极大地降低了修复程序所需的工程量,相较于传统的修复技术,RING 在多种语言中的表现更为出色。
Aug, 2022
提出了一种名为 CURE 的新型自动程序修复技术,通过预先训练编程语言模型和设计新的基于代码的搜索策略来解决现有神经机器翻译方法存在的限制,CURE 技术在两个广泛使用的基准测试中表现出了优异的修复效果。
Feb, 2021
使用大型语言模型的程序修复任务中,通过降低训练数据量、使用代码剪裁技术及构建全面的代码修复数据集,我们的系统能够在更少的案例中准确匹配人工修复,并显著提升可用模型的性能。
Feb, 2024
在修复自动化程序中,利用大型语言模型 (LLMs) 通过与补全引擎的互动,协同合成出更多有效的补丁,在生成预算相同的情况下,比基础的 LLM 能够产生更多有效和正确的补丁。
Sep, 2023
研究致力于自动修复代码漏洞的复杂挑战,引入了一种新的代码修改表示格式,使用了先进的大型语言模型(如 Code Llama 和 Mistral)。这些模型在 C 代码漏洞数据集上进行了微调,显着提高了自动代码修复技术的准确性和适应性。研究还对当前的评估指标(如完美预测)进行了关键评估,并强调了在真实场景中反映自动修复模型真正能力的局限性。研究强调了在代码修复任务中提高 LLMs 效果的数据集完整性和训练样本缺失测试数据集的重要性。此工作对数字安全的贡献不仅体现在提高代码安全方面的潜力上,而且推动了这些关键领域的进一步探索与研究。
Jan, 2024