Program Synthesis via Test-Time Transduction
By: Kang-il Lee , Jahyun Koo , Seunghyun Yoon and more
Potential Business Impact:
Teaches computers to write code from examples.
We introduce transductive program synthesis, a new formulation of the program synthesis task that explicitly leverages test inputs during synthesis. While prior approaches to program synthesis--whether based on natural language descriptions or input-output examples--typically aim to generalize from training examples, they often struggle with robustness, especially in real-world settings where training examples are limited and test inputs involve various edge cases. To address this, we propose a novel framework that improves robustness by treating synthesis as an active learning over a finite hypothesis class defined by programs' outputs. We use an LLM to predict outputs for selected test inputs and eliminate inconsistent hypotheses, where the inputs are chosen via a greedy maximin algorithm to minimize the number of LLM queries required. We evaluate our approach on four benchmarks: Playgol, MBPP+, 1D-ARC, and programmatic world modeling on MiniGrid. We demonstrate that our method significantly improves program synthesis in both accuracy and efficiency. We release our code at https://github.com/klee972/SYNTRA.
Similar Papers
Program Synthesis from Partial Traces
Programming Languages
Makes computers write code from examples.
GPU accelerated program synthesis: Enumerate semantics, not syntax!
Programming Languages
Makes computers write code from examples faster.
LLM-Guided Compositional Program Synthesis
Programming Languages
Breaks big computer jobs into small ones.