Fri 9 Nov 2018 10:30 - 10:52 at Studio 2 - Program Synthesis Chair(s): Jens Palsberg

This paper proposes relational program synthesis, a new problem that concerns synthesizing one or more programs that collectively satisfy a relational specification. As a dual of relational program verification, relational program synthesis is an important problem that has many practical applications, such as automated program inversion and automatic generation of comparators. However, this relational synthesis problem introduces new challenges over its non-relational counterpart due to the combinatorially larger search space. As a first step towards solving this problem, this paper presents a synthesis technique that combines the counterexample-guided inductive synthesis framework with a novel inductive synthesis algorithm that is based on relational version space learning. We have implemented the proposed technique in a framework called Relish, which can be instantiated to different application domains by providing a suitable domain-specific language and the relevant relational specification. We have used the Relish framework to build relational synthesizers to automatically generate string encoders/decoders as well as comparators, and we evaluate our tool on several benchmarks taken from prior work and online forums. Our experimental results show that the proposed technique can solve almost all of these benchmarks and that it significantly outperforms EUSolver, a generic synthesis framework that won the general track of the most recent SyGuS competition.

Conference Day
Fri 9 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Program SynthesisOOPSLA at Studio 2
Chair(s): Jens PalsbergUniversity of California, Los Angeles
10:30
22m
Talk
Relational Program Synthesis
OOPSLA
Yuepeng WangUniversity of Texas at Austin, Xinyu WangUT Austin, Isil DilligUT Austin
10:52
22m
Talk
Robust Relational Layout Synthesis from Examples for Android
OOPSLA
Pavol BielikETH Zürich, Marc FischerETH Zurich, Martin VechevETH Zürich
11:15
22m
Talk
Speeding up Symbolic Reasoning for Relational Queries
OOPSLA
Chenglong WangUniversity of Washington, USA, Alvin CheungUniversity of Washington, Rastislav BodikUniversity of Washington
11:37
22m
Talk
Automatic Diagnosis and Correction of Logical Errors for Functional Programming Assignments
OOPSLA
Junho LeeKorea University, Dowon SongKorea University, Sunbeom SoKorea University, Hakjoo OhKorea University