Compositional Program Synthesis from Natural Language and Examples
Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence. Main Track. Pages 792-799.
Abstract
Compositionality is a fundamental notion in computation whereby complex abstractions can be constructed from simpler ones, but this property has so far escaped the paradigm of end-user programming from examples or natural language. Existing approaches restrict end users to only give holistic end-to-end specifications, which limits the expressivity and scalability of these approaches to relatively simple programs in very restricted domains. In this paper we propose a new approach to end-user program synthesis in which input can be given in a compositional manner through a combination of natural language and examples. We present a domain-agnostic program synthesis algorithm and demonstrate its application to an expressive string manipulation language. We evaluate on a range of complex examples from help forums that are beyond the scope of previous systems.
@inproceedings{ijcai2015p117,
title = {Compositional Program Synthesis from Natural Language and Examples},
author = {Raza, Mohammad and Gulwani, Sumit and Milic-Frayling, Natasa},
booktitle = {Proceedings of the Twenty-Fourth International Joint Conference on
Artificial Intelligence, {IJCAI-15}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Qiang Yang and Michael Wooldridge},
pages = {792--799},
year = {2015},
month = {7},
note = {Main Track},
url = {https://ijcai.org/proceedings/2015/117},
}
TY - CPAPER TI - Compositional Program Synthesis from Natural Language and Examples AU - Raza, Mohammad AU - Gulwani, Sumit AU - Milic-Frayling, Natasa T2 - Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence, IJCAI-15 PB - International Joint Conferences on Artificial Intelligence PY - 2015 SP - 792 EP - 799 UR - https://ijcai.org/proceedings/2015/117 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: