Thu 16 Jun 2022 13:50 - 14:10 at Cockatoo - Synthesis II Chair(s): Mohsen Lesani

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 live execution, 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 Intermediate State Graph, 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 block-level specifications are easy for programmers to provide.

https://dl.acm.org/doi/10.1145/3485530
this URL might only work when visiting from a https://dl.acm.org/doi/10.1145/3485530 URL.

Thu 16 Jun

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

13:30 - 14:50
Synthesis IISIGPLAN Track at Cockatoo
Chair(s): Mohsen Lesani University of California at Riverside
13:30
20m
Talk
(PLDI 2021) Phased Synthesis of Divide and Conquer Programs
SIGPLAN Track
Azadeh Farzan University of Toronto, Victor Nicolet University of Toronto
13:50
20m
Talk
(OOPSLA 2021) LooPy: interactive program synthesis with control structures
SIGPLAN Track
Kasra Ferdowsifard University of California at San Diego, Shraddha Barke , Hila Peleg Technion, Sorin Lerner University of California at San Diego, Nadia Polikarpova University of California at San Diego
Link to publication DOI Authorizer link Pre-print
14:10
20m
Talk
(OOPSLA 2020) Feedback-Driven Semi-Supervised Synthesis of Program Transformations
SIGPLAN Track
Xiang Gao Beihang University, China, Shraddha Barke University of California at San Diego, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Sumit Gulwani Microsoft, Alan Leung Microsoft, Nachiappan Nagappan Facebook, Ashish Tiwari Microsoft
14:30
20m
Talk
(PLDI 2021) Proof Repair Across Type Equivalences
SIGPLAN Track
Talia Ringer University of Illinois at Urbana-Champaign, RanDair Porter University of Washington, Nathaniel Yazdani University of Washington, Seattle, John Leo Halfaya Research, Dan Grossman University of Washington
Link to publication DOI Authorizer link Pre-print