Overfitting in Synthesis: Theory and Practice (Extended Version)
Not on the map. Why?
Abstract (arXiv)
In syntax-guided synthesis (SyGuS), a synthesizer's goal is to automatically generate a program belonging to a grammar of possible implementations that meets a logical specification. We investigate a common limitation across state-of-the-art SyGuS tools that perform counterexample-guided inductive synthesis (CEGIS). We empirically observe that as the expressiveness of the provided grammar increases, the performance of these tools degrades significantly. We claim that this degradation is not only due to a larger search space, but also due to overfitting. We formally define this phenomenon and prove no-free-lunch theorems for SyGuS, which reveal a fundamental tradeoff between synthesizer performance and grammar expressiveness. A standard approach to mitigate overfitting in machine learning is to run multiple learners with varying expressiveness in parallel. We demonstrate that this insight can immediately benefit existing SyGuS tools. We also propose a novel single-threaded technique called hybrid enumeration that interleaves different grammars and outperforms the winner of the 2018 SyGuS competition (Inv track), solving more problems and achieving a 5× mean speedup.
Key facts. Cited by 6 papers in the map (data through 14 Oct 2026). First posted on arXiv 17 May 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 3; 2022: 1; 2023: 0; 2024: 1; 2025: 1.
6 papers.
- 2024SQLucid: Grounding Natural Language Database Queries with Interactive Explanationscited by 10
- 2021Toward Neural-Network-Guided Program Synthesis and Verificationcited by 2
- 2022Data-driven Numerical Invariant Synthesis with Automatic Generation of Attributescited by 1
- 2021Program Synthesis as Dependency Quantified Formula Modulo Theorycited by 0
- 2021Learning Heuristics for Template-based CEGIS of Loop Invariants with Reinforcement Learningcited by 0
- 2025Data-driven Verification of Procedural Programs with Integer Arrayscited by 0
- 2025Data-driven Verification of Procedural Programs with Integer Arrays21 May 2025
- 2024SQLucid: Grounding Natural Language Database Queries with Interactive Explanations10 Sep 2024
- 2022Data-driven Numerical Invariant Synthesis with Automatic Generation of Attributes30 May 2022
- 2021Learning Heuristics for Template-based CEGIS of Loop Invariants with Reinforcement Learning16 Jul 2021
- 2021Program Synthesis as Dependency Quantified Formula Modulo Theory19 May 2021
- 2021Toward Neural-Network-Guided Program Synthesis and Verification17 Mar 2021