基于有限树自动机的数据完备化综合
Synthesis of Data Completion Scripts using Finite Tree Automata
摘要:
在以表格格式存储数据的应用程序域中,常见的任务是使用存储在其他单元格中的值填充某些单元格的值。例如,这样的数据完成任务出现在数据科学中的缺失值插补以及电子表格和关系数据库中的导出数据计算的上下文中。不幸的是,最终用户和数据科学家通常会遇到许多需要非平凡编程专业知识的数据完成任务。本文提出了一种综合技术,自动化数据完成任务,使用编程的例子(PBE)和一个非常轻量级的草图的方法。给定一个公式草图(例如,AVG($?_1$,$?_2$))和一些输入输出的例子,每个孔,我们的技术合成一个程序,自动化所需的数据完成任务。为了实现这一目标,我们提出了一个特定领域的语言(DSL),结合了空间和关系推理的表格数据和一种新的合成算法,可以生成DSL程序的输入输出的例子是一致的。我们的方法的关键技术新颖性是一个新的版本空间学习算法,是基于有限树自动机(FTA)。在学习算法中使用FTA导致更紧凑的表示,其允许与示例一致的程序之间的更多共享。我们已经实现了建议的方法,在一个工具,称为DACE和评估它的84个基准从在线帮助论坛。我们还说明了我们的方法的优势,通过比较我们的技术对两个现有的合成器,即PROSE和SKETCH。
英文摘要:
In application domains that store data in a tabular format, a common task is to fill the values of some cells using values stored in other cells. For instance, such data completion tasks arise in the context of missing value imputation in data science and derived data computation in spreadsheets and relational databases. Unfortunately, end-users and data scientists typically struggle with many data completion tasks that require non-trivial programming expertise. This paper presents a synthesis technique for automating data completion tasks using programming-by-example (PBE) and a very lightweight sketching approach. Given a formula sketch (e.g., AVG($?_1$, $?_2$)) and a few input-output examples for each hole, our technique synthesizes a program to automate the desired data completion task. Towards this goal, we propose a domain-specific language (DSL) that combines spatial and relational reasoning over tabular data and a novel synthesis algorithm that can generate DSL programs that are consistent with the input-output examples. The key technical novelty of our approach is a new version space learning algorithm that is based on finite tree automata (FTA). The use of FTAs in the learning algorithm leads to a more compact representation that allows more sharing between programs that are consistent with the examples. We have implemented the proposed approach in a tool called DACE and evaluate it on 84 benchmarks taken from online help forums. We also illustrate the advantages of our approach by comparing our technique against two existing synthesizers, namely PROSE and SKETCH.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。