atlas

Research map / Learning theory and algorithms / Combinatorial and search optimization

Eco Search: A No-delay Best-First Search Algorithm for Program Synthesis

AAAI 2025 · Learning theory and algorithms › Combinatorial and search optimization · approach: Search for program synthesis · 0 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes Eco Search, a best-first bottom-up program synthesis algorithm with constant delay between outputs for pre-generation cost functions, built on Bee Search and Heap Search ideas.

Problem

Best-first enumerative program synthesis slows down over time because the delay between outputting successive programs grows (logarithmically in state-of-the-art methods), limiting scalability of cost-guided combinatorial search.

Approach

Combines Bee Search's cost tuple representation with per-non-terminal data structures and a frugal expansion, then uses bucket queues exploiting the bounded spread of queue costs so each output takes constant compute time with integer costs.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
use Eco Search instead of Heap SearchBest-first program synthesis search · FlashFill SyGuS taskstime to solve the same number of tasks: 14% of the timeHelped
use Eco Search instead of Bee SearchBest-first program synthesis search · FlashFill SyGuS taskstime to solve the same number of tasks: slightly more than half the timeHelped
use Eco Search instead of Bee SearchBest-first program synthesis search · DeepCoder integer list taskstime to solve the same number of tasks: 78% of the timeHelped
add bucketing (ablation)Eco Search · DeepCoder integer list taskstasks solved: 13 more tasksHelped
add bucketing (ablation)Eco Search · DeepCoder integer list taskstasks solved: 20 more tasksHelped
remove bucketing (ablation)Eco Search · Grammar scaling: derivation rulesenumeration speedHurt
vary the bucket size (ablation)Eco Search · Grammar scaling: derivation rulesenumeration performanceNo clear effect
increase the number of derivation rulesEco Search · Grammar scaling: derivation rulestime to enumerate one million programsNo clear effect
increase the number of non-terminalsEco Search · Grammar scaling: non-terminalstime to enumerate one million programs: 2x more timeHurt
increase the number of non-terminalsBee Search · Grammar scaling: non-terminalstime to enumerate one million programs: 3x more timeHurt
increase the distance to the starting non-terminalEco Search · Grammar scaling: distance to start non-terminaltime to enumerate one million programs: 6x more timeHurt

Surprising findings

Limitations

Experimental setup

Datasets: FlashFill SyGuS string manipulation tasks (205) DeepCoder integer list tasks (366) synthetic dataset used to train cost-function network

Benchmarks: FlashFill SyGuS 205 string tasks DeepCoder 366 integer list tasks parametric grammars D_k, N_k, R_k

Metrics: number of tasks solved vs cumulative time throughput (programs per time) time to enumerate 1M programs

Baselines: Heap Search Bee Search Eco Search without bucketing

Builds on: Bee Search Heap Search Euphony A* search

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy