中文

使用冲突驱动学习的程序合成

编程语言 2017-11-28 v2

摘要

我们提出了一种新的冲突驱动程序合成技术,能够从句过去的错误中学习。给定一个违反期望规约的伪程序,我们的合成算法识别冲突的根本原因并学习新的引理,以防止未来出现类似错误。具体而言,我们引入了模冲突等价的概念,并展示这一思想如何用于学习有用的引理,使合成器能够剪除搜索空间的大片区域。我们实现了一个名为 Neo 的通用 CDCL 风格程序合成器,并在两个不同应用领域对其进行了评估,即 R 语言中的数据整理和列表上的函数式编程。我们的实验证明了冲突驱动学习的显著益处,并表明 Neo 优于针对这些相应领域的两种最先进的合成工具 Morpheus 和 Deepcoder。

关键词

引用

@article{arxiv.1711.08029,
  title  = {Program Synthesis using Conflict-Driven Learning},
  author = {Yu Feng and Ruben Martins and Osbert Bastani and Isil Dillig},
  journal= {arXiv preprint arXiv:1711.08029},
  year   = {2017}
}

备注

This was a miscommunication and one author did not want to make it publicly available right now