Human-Centric Program Synthesis
Human-Computer Interaction
2019-09-27 v1 Programming Languages
Abstract
Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example), this paper asks: what does program synthesis look like beyond examples? What actual issues in day-to-day development would stand to benefit the most from synthesis? How can a human-centric perspective inform the exploration of alternative specification languages for synthesis? I sketch a human-centric vision for program synthesis where programmers explore and learn languages and APIs aided by a synthesis tool.
Cite
@article{arxiv.1909.12281,
title = {Human-Centric Program Synthesis},
author = {Will Crichton},
journal= {arXiv preprint arXiv:1909.12281},
year = {2019}
}
Comments
To appear at PLATEAU'19