Combining the Top-Down Propagation and Bottom-Up Enumeration for Inductive Program Synthesis

被引:17
作者
Lee, Woosuk [1 ]
机构
[1] Hanyang Univ, Coll Comp, Seoul, South Korea
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2021年 / 5卷 / POPL期
基金
新加坡国家研究基金会;
关键词
Programming by example; Syntax-guided Synthesis; FRAMEWORK; SEARCH;
D O I
10.1145/3434335
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present an effective method for scalable and general-purpose inductive program synthesis. There have been two main approaches for inductive synthesis: enumerative search, which repeatedly enumerates possible candidate programs, and the top-down propagation (TDP), which recursively decomposes a given large synthesis problem into smaller subproblems. Enumerative search is generally applicable but limited in scalability, and the TDP is efficient but only works for special grammars or applications. In this paper, we synergistically combine the two approaches. We generate small program subexpressions via enumerative search and put them together into the desired program by using the TDP. Enumerative search enables to bring the power of TDP into arbitrary grammars, and the TDP helps to overcome the limited scalability of enumerative search. We apply our approach to a standard formulation, syntax-guided synthesis (SyGuS), thereby supporting a broad class of inductive synthesis problems. We have implemented our approach in a tool called Duet and evaluate it on SyGuS benchmark problems from various domains. We show that Duet achieves significant performance gains over existing general-purpose as well as domain-specific synthesizers.
引用
收藏
页数:28
相关论文
共 36 条
  • [1] Scaling Enumerative Program Synthesis via Divide and Conquer
    Alur, Rajeev
    Radhakrishna, Arjun
    Udupa, Abhishek
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 : 319 - 336
  • [2] Syntax-Guided Synthesis
    Alur, Rajeev
    Bodik, Rastislav
    Dallal, Eric
    Fisman, Dana
    Garg, Pranav
    Juniwal, Garvit
    Kress-Gazit, Hadas
    Madhusudan, P.
    Martin, Milo M. K.
    Raghothaman, Mukund
    Saha, Shamwaditya
    Seshia, Sanjit A.
    Singh, Rishabh
    Solar-Lezama, Armando
    Torlak, Emina
    Udupa, Abhishek
    [J]. DEPENDABLE SOFTWARE SYSTEMS ENGINEERING, 2015, 40 : 1 - 25
  • [3] [Anonymous], 2010, ICSE 10, DOI DOI 10.1145/1806799.1806833
  • [4] [Anonymous], 2020, SYGUS COMPETITION
  • [5] Barrett Clark, 2010, P 8 INT WORKSHOP SAT, V13
  • [6] Caulfield Benjamin, 2015, ARXIV151008393CSLO
  • [7] Z3: An efficient SMT solver
    de Moura, Leonardo
    Bjorner, Nikolaj
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 337 - 340
  • [8] Durbin R., 1998, Biological sequence analysis: probabilistic models of proteins and nucleic acids, DOI [DOI 10.1017/CBO9780511790492, 10.1017/CBO9780511790492, 10.1017/cbo9780511790492]
  • [9] Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits
    Eldib, Hassan
    Wu, Meng
    Wang, Chao
    [J]. COMPUTER AIDED VERIFICATION: 28TH INTERNATIONAL CONFERENCE, CAV 2016, PT II, 2016, 9780 : 343 - 363
  • [10] Feng Y, 2018, PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, P420, DOI [10.1145/3192366.3192382, 10.1145/3296979.3192382]