Accelerating Search-Based Program Synthesis using Learned Probabilistic Models

被引:0
作者
Lee, Woosuk [1 ]
Heo, Kihong [1 ]
Alur, Rajeev [1 ]
Naik, Mayur [1 ]
机构
[1] Univ Penn, Philadelphia, PA 19104 USA
来源
PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018 | 2018年
基金
美国国家科学基金会;
关键词
Synthesis; Domain-specific languages; Statistical methods; Transfer learning;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A key challenge in program synthesis concerns how to efficiently search for the desired program in the space of possible programs. We propose a general approach to accelerate search-based program synthesis by biasing the search towards likely programs. Our approach targets a standard formulation, syntax-guided synthesis (SyGuS), by extending the grammar of possible programs with a probabilistic model dictating the likelihood of each program. We develop aweighted search algorithm to efficiently enumerate programs in order of their likelihood. We also propose a method based on transfer learning that enables to effectively learn a powerful model, called probabilistic higher order grammar, from known solutions in a domain. We have implemented our approach in a tool called EUPHONY and evaluate it on SyGuS benchmark problems from a variety of domains. We show that EUPHONY can learn good models using easily obtainable solutions, and achieves significant performance gains over existing general-purpose as well as domain-specific synthesizers.
引用
收藏
页码:436 / 449
页数:14
相关论文
共 31 条
  • [1] Suggesting Accurate Method and Class Names
    Allamanis, Miltiadis
    Barr, Earl T.
    Bird, Christian
    Sutton, Charles
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 38 - 49
  • [2] Mining Idioms from Source Code
    Allamanis, Miltiadis
    Sutton, Charles
    [J]. 22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 472 - 483
  • [3] 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
  • [4] Alur R, 2013, 2013 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), P26
  • [5] [Anonymous], 2017, P INT C LEARN REPR I
  • [6] Balog M., 2017, INT C LEARNING REPRE
  • [7] Bielik P, 2016, PR MACH LEARN RES, V48
  • [8] Devlin J, 2017, PR MACH LEARN RES, V70
  • [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] Exceljet, 2017, About us