Views provided by UsageCounts
Abstract: 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 5x mean speedup. - - - - - - - - The Artifact: This software artifact contains all 180 invariant-inference SyGuS benchmarks, implementations of all 6 grammars presented in our paper, working code for the hybrid enumeration (HEnum) technique, and several scripts to reproduce the empirical claims made in the paper: Recording the number of failures with increasing grammar expressiveness, Measuring the running time and number of CEGIS rounds for LoopInvGen, and Comparing the performance of PLearn and HEnum - - - - - - - - Instructions: Grab the cav19-artifact-100.zip file. Optionally, verify that the sha1sum of the zip file matches with cav19-artifact-100.sha1: Download the cav19-artifact-100.zip and cav19-artifact-100.sha1 files to the same directory. In that directory, run: sha1sum -c cav19-artifact-100.sha1. You should see cav19-artifact-100.zip: OK. Upon extracting the zip file, you should see: CAV19_Artifact_100.ova VM image, a copy of this file (Getting_Started.md), and the artifact evaluation instructions (Instructions.html). Download and install virtualbox on your machine. Import the .ova image to your virtualbox. Make sure you assign enough memory (8 GB minimum, 16 GB recommended). Boot the system and perform some basic checks: Login with user cav and password ae. Start a terminal session (CTRL+ALT+T) and try: cd CAV_100 make clean ; make dependencies If you didn't notice any errors so far and you get the Everything built! message, then you can proceed with the artifact evaluation steps.
This work was supported in part by the National Science Foundation (NSF) under grants CCF-1527923 and CCF-1837129. The lead author was also supported by an internship and a PhD Fellowship from Microsoft Research.
SyGuS, counterexample-guided inductive synthesis, overfitting, syntax-guided synthesis, CEGIS
SyGuS, counterexample-guided inductive synthesis, overfitting, syntax-guided synthesis, CEGIS
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 4 |

Views provided by UsageCounts