Program Synthesis using Conflict-Driven Learning

被引:0
|
作者
Feng, Yu [1 ]
Martins, Ruben [2 ]
Bastani, Osbert [3 ]
Dillig, Isil [1 ]
机构
[1] Univ Texas, Austin, TX 78712 USA
[2] Carnegie Mellon Univ, Pittsburgh, PA USA
[3] MIT, Cambridge, MA 02139 USA
基金
美国国家科学基金会;
关键词
program synthesis; conflict-driven learning; automated reasoning;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We propose a new conflict-driven program synthesis technique that is capable of learning from past mistakes. Given a spurious program that violates the desired specification, our synthesis algorithm identifies the root cause of the conflict and learns new lemmas that can prevent similar mistakes in the future. Specifically, we introduce the notion of equivalence modulo conflict and show how this idea can be used to learn useful lemmas that allow the synthesizer to prune large parts of the search space. We have implemented a general-purpose CDCL-style program synthesizer called NEO and evaluate it in two different application domains, namely data wrangling in R and functional programming over lists. Our experiments demonstrate the substantial benefits of conflict-driven learning and show that NEO outperforms two state-of-the-art synthesis tools, MORPHEUS and DEEPCODER, that target these respective domains.
引用
收藏
页码:420 / 435
页数:16
相关论文
共 50 条
  • [1] Program Synthesis using Conflict-Driven Learning
    Feng, Yu
    Martins, Ruben
    Bastani, Osbert
    Dillig, Isil
    ACM SIGPLAN NOTICES, 2018, 53 (04) : 420 - 435
  • [2] Conflict-Driven Synthesis for Layout Engines
    Liu, Junrui
    Chen, Yanju
    Atkinson, Eric
    Feng, Yu
    Bodik, Rastislav
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):
  • [3] Towards Conflict-Driven Learning for Virtual Substitution
    Korovin, Konstantin
    Kosa, Marek
    Sturm, Thomas
    COMPUTER ALGEBRA IN SCIENTIFIC COMPUTING, CASC 2014, 2014, 8660 : 256 - 270
  • [4] Conflict-driven clause learning SAT solvers
    Front. Artif. Intell. Appl., 2009, 1 (131-153):
  • [5] Numeric Bounds Analysis with Conflict-Driven Learning
    D'Silva, Vijay
    Haller, Leopold
    Kroening, Daniel
    Tautschnig, Michael
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2012, 2012, 7214 : 48 - 63
  • [6] Conflict-Driven Learning in Test Pattern Generation
    Liu Xin
    ADVANCED MEASUREMENT AND TEST, PTS 1-3, 2011, 301-303 : 1089 - 1092
  • [7] Multiple Decision Making in Conflict-Driven Clause Learning
    Osama, Muhammad
    Wijs, Anton
    2020 IEEE 32ND INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI), 2020, : 161 - 169
  • [8] Conflict-driven ASP Solving with External Sources and Program Splits
    Redl, Christoph
    PROCEEDINGS OF THE TWENTY-SIXTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2017, : 1239 - 1246
  • [9] Conflict-Driven Conditional Termination
    D'Silva, Vijay
    Urban, Caterina
    COMPUTER AIDED VERIFICATION, CAV 2015, PT II, 2015, 9207 : 271 - 286
  • [10] IntSat: integer linear programming by conflict-driven constraint learning
    Nieuwenhuis, Robert
    Oliveras, Albert
    Rodriguez-Carbonell, Enric
    OPTIMIZATION METHODS & SOFTWARE, 2024, 40 (01): : 169 - 196