4 个月前

SampleFix:学习生成功能多样的修复方法

SampleFix:学习生成功能多样的修复方法

摘要

自动程序修复在软件开发过程中具有显著提高程序员生产力和软件整体正确性的潜力。近年来,机器学习、深度学习和自然语言处理(NLP)的进展重新点燃了最终完全自动化程序修复过程的希望。然而,以往旨在预测单一修复方案的方法由于对程序员真实意图的不确定性而容易失败。因此,我们提出了一种生成模型,该模型可以学习潜在修复方案的分布。我们的模型被表述为一种深度条件变分自编码器,能够高效地为给定的错误程序采样修复方案。为了确保解决方案的多样性,我们提出了一种新的正则化方法,该方法鼓励在语义嵌入空间中实现多样性。我们在常见编程错误上的评估首次展示了多样化的修复方案生成,并且相比现有最佳方法,我们的模型能够修复高达45%的错误程序。此外,对于65%的成功修复程序,我们的方法能够生成多个具有不同功能的程序。

基准测试

基准方法指标
program-repair-on-deepfixSampleFix
Average Success Rate: 45.3

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
SampleFix:学习生成功能多样的修复方法 | 论文 | HyperAI超神经