【24h】

Programming by Examples: PL Meets ML

机译:通过示例编程:PL符合ML

获取原文

摘要

Programming by Examples (PBE) involves synthesizing intended programs in an underlying domain-specific language from example-based specifications. PBE systems are already revolutionizing the application domain of data wrangling and are set to significantly impact several other domains including code refactoring. There are three key components in a PBE system, (i) A search algorithm that can efficiently search for programs that are consistent with the examples provided by the user. We leverage a divide-and-conquer-based deductive search paradigm that inductively reduces the problem of synthesizing a program expression of a certain kind that satisfies a given specification into sub-problems that refer to sub-expressions or sub-specifications, (ii) Program ranking techniques to pick an intended program from among the many that satisfy the examples provided by the user. We leverage features of the program structure as well of the outputs generated by the program on test inputs, (iii) User interaction models to facilitate usability and debuggability. We leverage active-learning techniques based on clustering inputs and synthesizing multiple programs. Each of these PBE components leverage both symbolic reasoning and heuristics. We make the case for synthesizing these heuristics from training data using appropriate machine learning methods. This can not only lead to better heuristics, but can also enable easier development, maintenance, and even personalization of a PBE system.
机译:通过示例编程(PBE)涉及从基于示例的规范中以基础领域特定语言合成预期的程序。 PBE系统已经在彻底改变数据处理的应用领域,并且将对包括代码重构在内的其他几个领域产生重大影响。 PBE系统中包含三个关键组件:(i)一种搜索算法,可以有效地搜索与用户提供的示例一致的程序。我们利用基于分治法的演绎搜索范式,归纳地减少了将满足给定规范的某种类型的程序表达式合成为子问题的子问题,这些子问题涉及子表达式或子规范,(ii)程序排名技术,用于从满足用户提供的示例的众多示例中选择预期的程序。我们利用程序结构的功能以及程序在测试输入上生成的输出,(iii)用户交互模型以促进可用性和可调试性。我们利用基于聚类输入并综合多个程序的主动学习技术。这些PBE组件均利用符号推理和启发式方法。我们提出了使用适当的机器学习方法从训练数据中综合这些启发式方法的理由。这不仅可以带来更好的启发,而且还可以简化PBE系统的开发,维护甚至个性化。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号