Human-Centric Program Synthesis

Will Crichton
DOI: https://doi.org/10.48550/arXiv.1909.12281
IF: 6.4588
2019-09-26
Human-Computer Interaction
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.
What problem does this paper attempt to address?