Program Synthesis with Pragmatic Communication

07/09/2020
by   Yewen Pu, et al.
0

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed, because many programs may simultaneously satisfy the specification. Prior work resolves this ambiguity by using various inductive biases, such as a preference for simpler programs. This work introduces a new inductive bias derived by modeling the program synthesis task as rational communication, drawing insights from recursive reasoning models of pragmatics. Given a specification, we score a candidate program both on its consistency with the specification, and also whether a rational speaker would chose this particular specification to communicate that program. We develop efficient algorithms for such an approach when learning from input-output examples, and build a pragmatic program synthesizer over a simple grid-like layout domain. A user study finds that end-user participants communicate more effectively with the pragmatic program synthesizer over a non-pragmatic one.

READ FULL TEXT
research
08/13/2023

The Usability of Pragmatic Communication in Regular Expression Synthesis

Programming-by-example (PBE) systems aim to alleviate the burden of prog...
research
06/04/2018

Program Synthesis from Visual Specification

Program synthesis is the process of automatically translating a specific...
research
09/26/2019

Human-Centric Program Synthesis

Program synthesis techniques offer significant new capabilities in searc...
research
04/05/2022

Efficient Pragmatic Program Synthesis with Informative Specifications

Providing examples is one of the most common way for end-users to intera...
research
03/09/2023

Hierarchical Neural Program Synthesis

Program synthesis aims to automatically construct human-readable program...
research
09/24/2019

Using human-in-the-loop synthesis to author functional reactive programs

Programs that respond to asynchronous events are challenging to write; t...
research
09/19/2017

Programming from Metaphorisms

This paper presents a study of the metaphorism pattern of relational spe...

Please sign up or login with your details

Forgot password? Click here to reset