Multi-modal Program Inference: a Marriage of Pre-trainedLanguage Models and Component-based Synthesis
Kia Rahmani, Mohammad Raza, Sumit Gulwani, Vu Le, Daniel Morris, Arjun, Radhakrishna, Gustavo Soares, Ashish Tiwari

TL;DR
This paper introduces a multi-modal program synthesis approach combining pre-trained language models with component-based synthesis, effectively generating precise code from ambiguous natural language and examples across different programming domains.
Contribution
It presents a novel hybrid method that leverages PTMs for natural language understanding and CBS for precise code generation, applicable across multiple programming domains.
Findings
Outperforms state-of-the-art specialized systems in experiments.
Demonstrates effectiveness in regular expressions and CSS selectors domains.
Shows generality and domain-agnostic capabilities.
Abstract
Multi-modal program synthesis refers to the task of synthesizing programs (code) from their specification given in different forms, such as a combination of natural language and examples. Examples provide a precise but incomplete specification, and natural language provides an ambiguous but more "complete" task description. Machine-learned pre-trained models (PTMs) are adept at handling ambiguous natural language, but struggle with generating syntactically and semantically precise code. Program synthesis techniques can generate correct code, often even from incomplete but precise specifications, such as examples, but they are unable to work with the ambiguity of natural languages. We present an approach that combines PTMs with component-based synthesis (CBS): PTMs are used to generate candidates programs from the natural language description of the task, which are then used to guide the…
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.
