Program sketching with live bidirectional evaluation
Program sketching with live bidirectional evaluation
复制标题
通过实时双向评估进行程序草图绘制
DOI:
10.1145/3408991
复制
发表时间:
2020
影响因子:
--
通讯作者:
Chugh, Ravi
中科院分区:
文献类型:
--
作者:
Lubin, Justin;Collins, Nick;Omar, Cyrus;Chugh, Ravi
We present a system called Smyth for program sketching in a typed functional language whereby the concrete evaluation of ordinary assertions gives rise to input-output examples, which are then used to guide the search to complete the holes. The key innovation, called live bidirectional evaluation, propagates examples "backward" through partially evaluated sketches. Live bidirectional evaluation enables Smyth to (a) synthesize recursive functions without trace-complete sets of examples and (b) specify and solve interdependent synthesis goals. Eliminating the trace-completeness requirement resolves a significant limitation faced by prior synthesis techniques when given partial specifications in the form of input-output examples.To assess the practical implications of our techniques, we ran several experiments on benchmarks used to evaluate Myth, a state-of-the-art example-based synthesis tool. First, given expert examples (and no partial implementations), we find that Smyth requires on average 66% of the number of expert examples required by Myth. Second, we find that Smyth is robust to randomly-generated examples, synthesizing many tasks with relatively few more random examples than those provided by an expert. Third, we create a suite of small sketching tasks by systematically employing a simple sketching strategy to the Myth benchmarks; we find that user-provided sketches in Smyth often further reduce the total specification burden (i.e. the combination of partial implementations and examples). Lastly, we find that Leon and Synquid, two state-of-the-art logic-based synthesis tools, fail to complete several tasks on which Smyth succeeds.
登录
查看更多内容
DOI:
--
发表时间:
2016
期刊:
影响因子:
--
作者:
John K. Feser
通讯作者:
John K. Feser
DOI:
10.1007/978-3-540-73589-2_2
发表时间:
2007-07
期刊:
--
影响因子:
--
作者:
Jeremy G. Siek;Walid Taha
通讯作者:
Jeremy G. Siek;Walid Taha
影响因子:
--
作者:
Guo, Zheng;James, Michael;Justo, David;Zhou, Jiaxiao;Wang, Ziteng;Jhala, Ranjit;Polikarpova, Nadia
通讯作者:
Polikarpova, Nadia
DOI:
10.1109/icse.2015.227
发表时间:
2015
期刊:
2015 IEEE/ACM 37th IEEE International Conference on Software Engineering
影响因子:
--
作者:
Sumit Gulwani;M. Mayer;Filip Niksic;R. Piskac
通讯作者:
R. Piskac
DOI:
--
发表时间:
2015
期刊:
Summit on Advances in Programming Languages
影响因子:
--
作者:
Jeremy G. Siek;Michael M. Vitousek;M. Cimini;J. Boyland
通讯作者:
J. Boyland