Program Synthesis using Conflict-Driven Learning
نویسندگان
چکیده
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 generalpurpose 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 conflictdriven learning and show that Neo outperforms two stateof-the-art synthesis tools,Morpheus and DeepCoder, that target these respective domains.
منابع مشابه
The Influence of Data-Driven Exercises Through Using a Computer Program on Vocabulary Improvement in an EFL Context
The present study was conducted to evaluate data driven learning (DDL) combined with Computer Assisted Language Learning (CALL) as an approach to improving vocabulary knowledge of Iranian postgraduates majoring in teaching English, English literature and translation. The purpose was to help language learners get familiar with DDL as a student-centered method taking advantage of a computer progr...
متن کاملThe Influence of Data-Driven Exercises Through Using a Computer Program on Vocabulary Improvement in an EFL Context
The present study was conducted to evaluate data driven learning (DDL) combined with Computer Assisted Language Learning (CALL) as an approach to improving vocabulary knowledge of Iranian postgraduates majoring in teaching English, English literature and translation. The purpose was to help language learners get familiar with DDL as a student-centered method taking advantage of a computer progr...
متن کاملA Verified SAT Solver with Two Watched Literals Using Imperative HOL
Based on our earlier formalization of conflict-driven clause learning (CDCL) in Isabelle/HOL, we refine the CDCL calculus further to add an important optimization: two watched literals. We formalize the data structure and the invariants. Then we refine the calculus to an executable SAT solver in Standard ML: Through a chain of refinements, we target Imperative HOL using the Isabelle Refinement ...
متن کاملLifting CDCL to Template-Based Abstract Domains for Program Verification
The success of Conflict Driven Clause Learning (CDCL) for Boolean satisfiability has inspired adoption in other domains. We present a novel lifting of CDCL to program analysis called Abstract Conflict Driven Learning for Programs (ACDLP). ACDLP alternates between model search, which performs over-approximate deduction with constraint propagation, and conflict analysis, which performs under-appr...
متن کاملFrom Backtracking to Chaff
Modern Chaff-like SAT solvers enhance plain backtracking (DLL) by Conflict-Driven Learning (CDL), including 1UIP-based Conflict-Directed Backjumping (CDB), Non-Chronological Backtracking (NCB), and 1UIP-based Conflict-Clause Recording (CCR). We show how to add these enhancements step-by-step to plain DLL to derive Chaff’s Conflict-Driven Learning algorithm, separately and independently of BCP, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1711.08029 شماره
صفحات -
تاریخ انتشار 2017