DeepAI AI Chat
Log In Sign Up

Program Sketching with Live Bidirectional Evaluation

11/01/2019
by   Justin Lubin, et al.
0

We present Sketch-n-Myth, a technique for completing program sketches whereby the evaluation of ordinary assertions gives rise to input-output examples. The key innovation, called live bidirectional evaluation, propagates examples "backward" through partially evaluated sketches. Compared to previous example-based synthesis techniques, live bidirectional evaluation enables Sketch-n-Myth to (a) synthesize recursive functions without trace-complete examples and (b) specify and solve interdependent synthesis goals. On benchmarks used to evaluate Myth, a state-of-the-art example-based synthesis tool, Sketch-n-Myth requires on average 67 sketching. For many of these benchmarks, a simple sketching strategy further reduces the example burden.

READ FULL TEXT
11/01/2019

Program Synthesis with Live Bidirectional Evaluation

We present an algorithm for completing program sketches (partial program...
10/25/2022

Program Synthesis Using Example Propagation

We present Scrybe, an example-based synthesis tool for a statically-type...
08/31/2021

Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches

We propose a technique for synthesizing bidirectional programs from the ...
09/12/2018

Bidirectional Evaluation with Direct Manipulation

We present an evaluation update (or simply, update) algorithm for a full...
08/16/2019

Bidirectional Typing

Bidirectional typing combines two modes of typing: type checking, which ...
07/05/2017

Synthesis of Data Completion Scripts using Finite Tree Automata

In application domains that store data in a tabular format, a common tas...
01/09/2022

Bidirectional Runtime Enforcement of First-Order Branching-Time Properties

Runtime enforcement is a dynamic analysis technique that instruments a m...