REFINESTAT: Efficient Exploration for Probabilistic Program Synthesis
This addresses the challenge of efficient exploration in probabilistic program synthesis for developers using small models, though it is incremental as it builds on existing debugging strategies.
The paper tackles the problem of generating probabilistic programs with small language models, which often produce syntactic and semantic errors, by introducing RefineStat, a framework that enforces semantic constraints and applies diagnostic-aware refinement, resulting in programs that are syntactically sound and statistically reliable, often matching or surpassing those from large language models like OpenAI o3.
Probabilistic programming offers a powerful framework for modeling uncertainty, yet statistical model discovery in this domain entails navigating an immense search space under strict domain-specific constraints. When small language models are tasked with generating probabilistic programs, they frequently produce outputs that suffer from both syntactic and semantic errors, such as flawed inference constructs. Motivated by probabilistic programmers' domain expertise and debugging strategies, we introduce RefineStat, a language model--driven framework that enforces semantic constraints ensuring synthesized programs contain valid distributions and well-formed parameters, and then applies diagnostic-aware refinement by resampling prior or likelihood components whenever reliability checks fail. We evaluate RefineStat on multiple probabilistic-programming code-generation tasks using smaller language models (SLMs) and find that it produces programs that are both syntactically sound and statistically reliable, often matching or surpassing those from closed-source large language models (e.g., OpenAI o3).