Quantitative Programming by Examples

09/12/2019
by   Sumit Gulwani, et al.
0

Programming-by-Example (PBE) systems synthesize an intended program in some (relatively constrained) domain-specific language from a small number of input-output examples provided by the user. In this paper, we motivate and define the problem of quantitative PBE (qPBE) that relates to synthesizing an intended program over an underlying (real world) programming language that also minimizes a given quantitative cost function. We present a modular approach for solving qPBE that consists of three phases: intent disambiguation, global search, and local search. On two concrete objectives, namely program performance and size, our qPBE procedure achieves 1.53 X and 1.26 X improvement respectively over the baseline FlashFill PBE system, averaged over 701 benchmarks. Our detailed experiments validate the design of our procedure and show the value of combining global and local search for qPBE.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset