PLAISEOct 10, 2025

Herb.jl: A Unifying Program Synthesis Library

arXiv:2510.09726v1h-index: 5
Originality Synthesis-oriented
AI Analysis

This work addresses the challenge for AI researchers and programmers in program synthesis by providing a modular library, but it is incremental as it builds on existing methods without introducing a new paradigm.

The authors tackled the problem of tedious and time-consuming reuse and remixing of existing program synthesis methods by developing Herb.jl, a unifying library in Julia that modularizes synthesis algorithms into extendable sub-compartments, enabling straightforward reapplication and demonstration through three common use cases.

Program synthesis -- the automatic generation of code given a specification -- is one of the most fundamental tasks in artificial intelligence (AI) and many programmers' dream. Numerous synthesizers have been developed to tackle program synthesis, manifesting different ideas to approach the exponentially growing program space. While numerous smart program synthesis tools exist, reusing and remixing previously developed methods is tedious and time-consuming. We propose Herb.jl, a unifying program synthesis library written in the Julia programming language, to address these issues. Since current methods rely on similar building blocks, we aim to modularize the underlying synthesis algorithm into communicating and fully extendable sub-compartments, allowing for straightforward reapplication of these modules. To demonstrate the benefits of using Herb.jl, we show three common use cases: 1. how to implement a simple problem and grammar, and how to solve it, 2. how to implement a previously developed synthesizer with just a few lines of code, and 3. how to run a synthesizer against a benchmark.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes