火星代码智能体:AI原生自动化修复漏洞
使用大型语言模型的程序修复任务中,通过降低训练数据量、使用代码剪裁技术及构建全面的代码修复数据集,我们的系统能够在更少的案例中准确匹配人工修复,并显著提升可用模型的性能。
Feb, 2024
该论文介绍了RepairAgent,其是第一个基于大型语言模型(LLM)的自主代理解决程序修复挑战的工作。RepairAgent通过调用合适的工具来自主规划和执行修复操作,包括收集有关错误的信息、收集修复材料以及验证修复结果,并在先前修复尝试的反馈和信息基础上决定调用哪些工具。该研究表明,RepairAgent在修复164个错误中表现出了良好的效果,并修复了先前技术无法修复的39个错误。与LLM的交互对每个错误平均造成了270,000个token的开销,根据OpenAI GPT-3.5模型的当前定价,平均每个错误的成本为14美分。这项工作是首次提出基于LLM的自主代理程序修复技术,为未来软件工程的代理技术铺平了道路。
Mar, 2024
提出了一种自动化的方法AutoCodeRover,将LLMs与复杂的代码搜索能力相结合,从而实现对Github问题的自主解决,进而实现程序改进。
Apr, 2024
使用大型语言模型的代码代理在形式化用户问题为测试用例方面具有重要能力,并且在生成相关测试用例方面表现出众,尤其是在代码修复方面,生成的测试用例是提出代码修复的一个有效过滤器。
Jun, 2024
通过构建一个名为Agentless的简洁两阶段的定位和修复过程,本研究发现在自动软件开发问题的解决中,Agentless不仅能够获得最高的性能(27.33%),而且成本最低(0.34美元),超过现有的所有开源软件代理。
Jul, 2024
本研究解决了大型语言模型(LLMs)与基于LLMs的代理之间的区别不明确的问题。通过对软件工程中LLMs和LLM-based代理的应用进行广泛调查,论文总结了六个关键主题,并对它们的效果和应用进行了全面分析。研究结果为推动软件工程中基于LLMs的代理的未来研究提供了重要思路。
Aug, 2024
本研究解决软件项目中自动程序改进的需求,重点在于开发一个有效的工作流程进行迭代规范推断。提出的SpecRover方法通过结合项目结构和行为进行意图推断,评估生成的补丁,并显示出比现有方法提升超过50%的有效性,展示了规范推断在自动化程序修复中的重要性。
Aug, 2024
本研究解决了自动程序改进中缺乏有效意图推断的问题,提出了一种通过大型语言模型和程序分析相结合的低成本工作流程。研究表明,SpecRover在2294个GitHub问题的评估中,效率提高超过50%,并且以适度成本提供可置信的自动修复建议,凸显了规范推断在自动化程序修复中的重要性。
Aug, 2024
本研究解决了传统代码生成方法在安全性方面的不足,特别是单一智能体生成代码时容易引入漏洞的问题。提出的AutoSafeCoder框架通过三个智能体的协作,结合静态分析和动态模糊测试,显著提升了代码的安全性。实验结果表明,与基线模型相比,该方法减少了13%的代码漏洞,同时确保了功能的完整性。
Sep, 2024
本研究解决了大型语言模型(LLMs)在复杂代码生成任务中的准确性问题。提出了一种新的LLM代理架构——精炼与生成指导调试(RGD),通过分步骤处理代码生成,提升了LLMs的自主生成与精炼代码的能力。实验结果表明,RGD在代码生成能力上实现了显著提升,为程序开发提供了更有效的自动调试工具。
Oct, 2024