作者
Kasra Ferdowsifard, Shraddha Barke, Hila Peleg, Sorin Lerner, Nadia Polikarpova
发表日期
2021/10/15
期刊
Proceedings of the ACM on Programming Languages
卷号
5
期号
OOPSLA
页码范围
1-29
出版商
ACM
简介
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 …
引用总数
学术搜索中的文章
K Ferdowsifard, S Barke, H Peleg, S Lerner… - Proceedings of the ACM on Programming Languages, 2021