4 个月前

SPoC:基于搜索的伪代码到代码转换

SPoC:基于搜索的伪代码到代码转换

摘要

我们研究了将伪代码映射到功能正确的长程序的任务。给定测试用例作为验证程序的机制,我们在伪代码可能的翻译空间中进行搜索,以找到能够通过验证的程序。然而,如果没有适当的归因方法来定位程序失败的原因,很难引导搜索方向朝向更有希望的程序。为此,我们提出基于编译错误信号进行归因的方法,因为编译错误占所有程序失败的88.7%。具体而言,我们将每行伪代码的翻译视为程序的一个离散部分,每当合成的程序无法编译时,一种错误定位方法会尝试识别导致失败的程序部分。随后,我们集中对这些部分的伪代码进行替代翻译的搜索。为了评估该方法,我们收集了SPoC数据集(基于搜索的伪代码到代码转换),其中包含18,356个带有由人类编写伪代码和测试用例的程序。在100次程序编译预算下,执行搜索将合成成功率从仅使用伪代码的最佳单一翻译时的25.6%提高到了44.7%。

代码仓库

sumith1896/spoc
pytorch
GitHub 中提及

基准测试

基准方法指标
program-synthesis-on-spoc-testpMulticlass localizer
Success rate @budget 100: 34.2
program-synthesis-on-spoc-testwMulticlass localizer
Success rate @budget 100: 53.7

用 AI 构建 AI

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

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

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
SPoC:基于搜索的伪代码到代码转换 | 论文 | HyperAI超神经