Overfitting in Synthesis: Theory and Practice (Extended Version)

05/17/2019
by   Saswat Padhi, et al.
0

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.

READ FULL TEXT
research
05/17/2019

Overfitting in Synthesis: Theory and Practice (Extender Version)

In syntax-guided synthesis (SyGuS), a synthesizer's goal is to automatic...
research
05/17/2019

Overfitting in Synthesis: Theory and Practice

In syntax-guided synthesis (SyGuS), a synthesizer's goal is to automatic...
research
02/07/2020

Grammar Filtering For Syntax-Guided Synthesis

Programming-by-example (PBE) is a synthesis paradigm that allows users t...
research
04/12/2019

SyGuS-Comp 2018: Results and Analysis

Syntax-guided synthesis (SyGuS) is the computational problem of finding ...
research
05/19/2021

Program Synthesis as Dependency Quantified Formula Modulo Theory

Given a specification φ(X,Y) over inputs X and output Y, defined over a ...
research
07/13/2023

Reinforcement Learning for Syntax-Guided Synthesis

Program synthesis is the task of automatically generating code based on ...

Please sign up or login with your details

Forgot password? Click here to reset