BUSTLE:通过学习引导的探索进行自底向上的程序合成
BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration
AI总结:
本文提出BUSTLE方法,通过学习模型引导自底向上搜索中的中间值组合优先级,利用程序执行语义和属性签名特征,在SyGuS竞赛及自建数据集上验证了学习与自底向上搜索结合的有效性。
摘要:
程序合成之所以具有挑战性,很大程度上是因为在庞大的程序空间中进行搜索十分困难。人类程序员在编写复杂程序时,通常会先编写子程序,然后分析其中间结果,再以适当的方式将它们组合起来。受这一直觉启发,我们提出了一种新的合成方法,利用学习来引导自底向上的程序搜索。具体而言,我们训练一个模型,在给定一组输入-输出示例的条件下,对搜索过程中中间值的组合进行优先级排序。这种组合之所以强大,是因为它具有若干涌现特性。首先,在自底向上搜索中,中间程序可以被执行,从而为神经网络提供语义信息。其次,基于这些执行得到的具体值,我们可以利用最近关于属性签名(property signatures)的研究成果来提取丰富的特征。最后,自底向上搜索使系统在生成解决方案的顺序上具有很大的灵活性,允许合成器从多个较小的子程序逐步构建出完整程序。总体而言,我们的实证评估发现,即使采用简单的监督学习方法,学习与自底向上搜索的结合也非常有效。我们在两个数据集上展示了该技术的有效性,其中一个来自SyGuS竞赛,另一个是我们自己创建的数据集。
英文摘要:
Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate results to compose them in appropriate ways. Motivated by this intuition, we present a new synthesis approach that leverages learning to guide a bottom-up search over programs. In particular, we train a model to prioritize compositions of intermediate values during search conditioned on a given set of input-output examples. This is a powerful combination because of several emergent properties. First, in bottom-up search, intermediate programs can be executed, providing semantic information to the neural network. Second, given the concrete values from those executions, we can exploit rich features based on recent work on property signatures. Finally, bottom-up search allows the system substantial flexibility in what order to generate the solution, allowing the synthesizer to build up a program from multiple smaller sub-programs. Overall, our empirical evaluation finds that the combination of learning and bottom-up search is remarkably effective, even with simple supervised learning approaches. We demonstrate the effectiveness of our technique on two datasets, one from the SyGuS competition and one of our own creation.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。