Oracle-guided synthesis is a program synthesis paradigm where the formal specification is provided by an interactive oracle. This oracle is a black-box function, simulator, or human expert that can answer queries—typically in the form of input-output examples or behavioral constraints—posed by the synthesizer. The synthesizer iteratively queries the oracle to refine its understanding of the target program's intended behavior, using the responses to guide its search through the space of possible programs. This approach is particularly valuable when a complete, upfront formal specification is difficult or impossible to articulate, but correct behavior can be demonstrated or validated on specific cases.
