skip to main content
10.5555/2832249.2832359guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Compositional program synthesis from natural language and examples

Published: 25 July 2015 Publication History

Abstract

Compositionality is a fundamental notion in computation whereby complex abstractions can be constructed from simpler ones, yet 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 specifications of tasks, which limits the expressivity and scalability of these approaches to relatively simple programs in very restricted domains. In this paper we propose Compositional Program Synthesis (CPS): an approach in which tasks can be specified 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 our approach on complex tasks from online help forums that are beyond the scope of current state-ofthe-art methods.

References

[1]
James F. Allen, Nathanael Chambers, George Ferguson, Lucian Galescu, Hyuckchul Jung, Mary D. Swift, and William Taysom. Plow: A collaborative task learning agent. In AAAI, pages 1514-1519. AAAI Press, 2007.
[2]
David L. Chen and Raymond J. Mooney. Learning to interpret natural language navigation instructions from observations. In Wolfram Burgard and Dan Roth, editors, AAAI. AAAI Press, 2011.
[3]
James Clarke, Dan Goldwasser, Ming-Wei Chang, and Dan Roth. Driving semantic parsing from the world's response. In Proceedings of the Fourteenth Conference on Computational Natural Language Learning (CoNLL-2010), pages 18-27, Uppsala, Sweden, 2010.
[4]
Sumit Gulwani and Mark Marron. Nlyze: Interactive programming by natural language for spreadsheet data analysis and manipulation. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD '14, pages 803-814, New York, NY, USA, 2014. ACM.
[5]
Sumit Gulwani, William R. Harris, and Rishabh Singh. Spreadsheet data manipulation using examples. Commun. ACM, 55(8), 2012.
[6]
Sumit Gulwani. Automating String Processing in Spreadsheets using Input-Output Examples. In Principles of Programming Languages (POPL), pages 317-330, 2011.
[7]
Susumu Katayama. Systematic search for lambda expressions. In Marko C. J. D. van Eekelen, editor, Revised Selected Papers from the Sixth Symposium on Trends in Functional Programming, TFP 2005, volume 6, pages 111-126. Intellect, 2007.
[8]
Dan Klein and Christopher D. Manning. Accurate unlexicalized parsing. In ACL '03: Proceedings of the 41st Annual Meeting on Association for Computational Linguistics, pages 423-430, Morristown, NJ, USA, 2003. Association for Computational Linguistics.
[9]
Nate Kushman and Regina Barzilay. Using semantic unification to generate regular expressions from natural language. In HLT-NAACL, pages 826-836. The Association for Computational Linguistics, 2013.
[10]
Tessa A. Lau, Pedro Domingos, and Daniel S. Weld. Learning programs from traces using version space algebra. In John H. Gennari, Bruce W. Porter, and Yolanda Gil, editors, K-CAP, pages 36-43. ACM, 2003.
[11]
Tessa A. Lau, Steven A. Wolfman, Pedro Domingos, and Daniel S. Weld. Programming by Demonstration Using Version Space Algebra. Machine Learning, 53(1-2):111-156, 2003.
[12]
Vu Le and Sumit Gulwani. Flashextract: A framework for data extraction by examples. In PLDI, 2014.
[13]
Percy Liang, Michael I. Jordan, and Dan Klein. Learning dependency-based compositional semantics. CoRR, abs/1109.6841, 2011.
[14]
Henry Lieberman, editor. Your Wish is My Command: Programming by Example. Morgan Kaufmann Publishers, 2001.
[15]
Mehdi Hafezi Manshadi, Daniel Gildea, and James F. Allen. Integrating programming by example and natural language programming. In Marie desJardins and Michael L. Littman, editors, AAAI. AAAI Press, 2013.
[16]
Daniel Perelman, Sumit Gulwani, Dan Grossman, and Peter Provost. Test-driven synthesis. In PLDI, 2014.
[17]
Chris Quirk, Pallavi Choudhury, Jianfeng Gao, Hisami Suzuki, Kristina Toutanova, Michael Gamon, Wen tau Yih, Colin Cherry, and Lucy Vanderwende. Msr splat, a language analysis toolkit. In HLTNAACL, pages 21-24. The Association for Computational Linguistics, 2012.
[18]
Mohammad Raza, Sumit Gulwani, and Natasa Milic-Frayling. Programming by example using least general generalizations. In AAAI, 2014.
[19]
Mohammad Raza, Sumit Gulwani, and Natasa Milic-Frayling. Compositional program synthesis from natural language and examples. Microsoft Research Technical Report MSR-TR-2015-33, 2015.
[20]
Luke S. Zettlemoyer and Michael Collins. Learning context-dependent mappings from sentences to logical form. In Keh-Yih Su, Jian Su, and Janyce Wiebe, editors, ACL/IJCNLP, pages 976-984. The Association for Computer Linguistics, 2009.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
IJCAI'15: Proceedings of the 24th International Conference on Artificial Intelligence
July 2015
4429 pages
ISBN:9781577357384

Sponsors

  • The International Joint Conferences on Artificial Intelligence, Inc. (IJCAI)

Publisher

AAAI Press

Publication History

Published: 25 July 2015

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media