Comparative Synthesis: Learning Optimal Programs with Indeterminate Objectives

05/25/2021
by   Yanjun Wang, et al.
0

Quantitative program synthesis aims to generate a program that satisfies not only boolean specifications but also quantitative objectives. Nonetheless, obtaining precise quantitative objectives per se can be a challenging task. In this paper, we propose comparative synthesis, a bootstrapping quantitative synthesis framework in which an indeterminate objective and a satisfying program are synthesized in tandem. The key idea is to make comparative queries to learn the user's preference over candidate programs, with which objectives can be conjectured. These objectives, which are indeterminate as they can be refined along the course of user interaction, guide the search of satisfying programs. Within the comparative synthesis framework, we developed two novel comparative synthesis procedures (CLPs) with the aim of minimizing the number of queries to the user. We prove that both CLPs converge and use them in two case studies: generating bandwidth allocations for network design and solving SyGuS benchmarks with syntactic objectives. Experiments show that our framework can successfully synthesize satisfying/optimal solutions by making queries only, without a priori knowledge about the quantitative objective.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/28/2019

Counterexample-Driven Synthesis for Probabilistic Program Sketches

Probabilistic programs are key to deal with uncertainty in e.g. controll...
research
06/04/2018

Program Synthesis from Visual Specification

Program synthesis is the process of automatically translating a specific...
research
01/29/2020

Concise Read-Only Specifications for Better Synthesis of Programs with Pointers – Extended Version

In program synthesis there is a well-known trade-off between concise and...
research
07/18/2018

Structuring the Synthesis of Heap-Manipulating Programs

This paper describes a deductive approach to synthesizing imperative pro...
research
07/18/2018

Structuring the Synthesis of Heap-Manipulating Programs - Extended Version

This paper describes a deductive approach to synthesizing imperative pro...
research
08/14/2023

Modular System Synthesis

This paper describes a way to improve the scalability of program synthes...
research
06/22/2020

Information-theoretic User Interaction: Significant Inputs for Program Synthesis

Programming-by-example technologies are being deployed in industrial pro...

Please sign up or login with your details

Forgot password? Click here to reset