Neural-Guided Deductive Search for Real-Time Program Synthesis from Examples
Ashwin Kalyan, Abhishek Mohta, Oleksandr Polozov, Dhruv Batra, Prateek, Jain, Sumit Gulwani

TL;DR
This paper introduces Neural Guided Deductive Search (NGDS), a hybrid program synthesis method combining symbolic logic and neural networks to enable real-time, accurate program generation from few examples, outperforming existing systems.
Contribution
The paper presents NGDS, a novel hybrid approach that integrates deductive logic with neural networks, allowing fast, accurate synthesis from limited data and improving over prior purely symbolic or statistical methods.
Findings
Achieves up to 12x speed-up over state-of-the-art systems
Effectively generalizes to unseen examples
Trains efficiently on limited real-world data
Abstract
Synthesizing user-intended programs from a small number of input-output examples is a challenging problem with several important applications like spreadsheet manipulation, data wrangling and code refactoring. Existing synthesis systems either completely rely on deductive logic techniques that are extensively hand-engineered or on purely statistical models that need massive amounts of data, and in general fail to provide real-time synthesis on challenging benchmarks. In this work, we propose Neural Guided Deductive Search (NGDS), a hybrid synthesis technique that combines the best of both symbolic logic techniques and statistical models. Thus, it produces programs that satisfy the provided specifications by construction and generalize well on unseen examples, similar to data-driven systems. Our technique effectively utilizes the deductive search framework to reduce the learning problem…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Parallel Computing and Optimization Techniques · Machine Learning and Data Classification
