SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 14:35 - 14:50 at Zurich B - Program Synthesis Chair(s): Kedar Namjoshi
Thu 21 Oct 2021 22:35 - 22:50 at Zurich B - Program Synthesis - mirror Chair(s): Hakjoo Oh

One vision for program synthesis, and specifically for programming by example (PBE), is an interactive programmer's assistant, integrated into the development environment. To make program synthesis practical for interactive use, prior work on Small-Step Live PBE has proposed to limit the scope of synthesis to small code snippets, and enable the users to provide local specifications for those snippets. This paradigm, however, does not work well in the presence of loops. We present LooPy, a synthesizer integrated into a live programming environment, which extends Small-Step Live PBE to work inside loops and scales it up to synthesize larger code snippets, while remaining fast enough for interactive use. To allow users to effectively provide examples at various loop iterations, even when the loop body is incomplete, LooPy makes use of <i>live execution</i>, a technique that leverages the programmer as an oracle to step over incomplete parts of the loop. To enable synthesis of loop bodies at interactive speeds, LooPy introduces <i>Intermediate State Graph</i>, a new data structure, which compactly represents a large space of code snippets composed of multiple assignment statements and conditionals. We evaluate LooPy empirically using benchmarks from competitive programming and previous synthesizers, and show that it can solve a wide variety of synthesis tasks at interactive speeds. We also perform a small qualitative user study which shows that LooPy's <i>block-level</i> specifications are easy for programmers to provide.

Thu 21 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
Program SynthesisOOPSLA at Zurich B +8h
Chair(s): Kedar Namjoshi Nokia Bell Labs
13:50
15m
Talk
Generalizable Synthesis through UnificationVirtual
OOPSLA
Ruyi Ji Peking University, Jingtao Xia Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
DOI
14:05
15m
Talk
Gauss: Program Synthesis by Reasoning over GraphsVirtual
OOPSLA
Rohan Bavishi University of California at Berkeley, Caroline Lemieux Microsoft Research, Koushik Sen University of California at Berkeley, Ion Stoica University of California at Berkeley
DOI
14:20
15m
Talk
APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in LibrariesVirtual
OOPSLA
Xiang Gao National University of Singapore, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ridwan Salihin Shariffdeen National University of Singapore, Sumit Gulwani Microsoft, Abhik Roychoudhury National University of Singapore
DOI
14:35
15m
Talk
LooPy: Interactive Program Synthesis with Control StructuresVirtual
OOPSLA
Kasra Ferdowsifard University of California at San Diego, Shraddha Barke University of California at San Diego, Hila Peleg Technion, Sorin Lerner University of California at San Diego, Nadia Polikarpova University of California at San Diego
DOI
14:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

21:50 - 23:10
Program Synthesis - mirrorOOPSLA at Zurich B
Chair(s): Hakjoo Oh Korea University
21:50
15m
Talk
Generalizable Synthesis through UnificationVirtual
OOPSLA
Ruyi Ji Peking University, Jingtao Xia Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
DOI
22:05
15m
Talk
Gauss: Program Synthesis by Reasoning over GraphsVirtual
OOPSLA
Rohan Bavishi University of California at Berkeley, Caroline Lemieux Microsoft Research, Koushik Sen University of California at Berkeley, Ion Stoica University of California at Berkeley
DOI
22:20
15m
Talk
APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in LibrariesVirtual
OOPSLA
Xiang Gao National University of Singapore, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ridwan Salihin Shariffdeen National University of Singapore, Sumit Gulwani Microsoft, Abhik Roychoudhury National University of Singapore
DOI
22:35
15m
Talk
LooPy: Interactive Program Synthesis with Control StructuresVirtual
OOPSLA
Kasra Ferdowsifard University of California at San Diego, Shraddha Barke University of California at San Diego, Hila Peleg Technion, Sorin Lerner University of California at San Diego, Nadia Polikarpova University of California at San Diego
DOI
22:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA