Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3042817.3042840guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A machine learning framework for programming by example

Published: 16 June 2013 Publication History

Abstract

Learning programs is a timely and interesting challenge. In Programming by Example (PBE), a system attempts to infer a program from input and output examples alone, by searching for a composition of some set of base functions. We show how machine learning can be used to speed up this seemingly hopeless search problem, by learning weights that relate textual features describing the provided input-output examples to plausible sub-components of a program. This generic learning framework lets us address problems beyond the scope of earlier PBE systems. Experiments on a prototype implementation show that learning improves search and ranking on a variety of text processing tasks found on help forums.

References

[1]
Cypher, Allen, Halbert, Daniel C., Kurlander, David, Lieberman, Henry, Maulsby, David, Myers, Brad A., and Turransky, Alan (eds.). Watch what I do: programming by demonstration. MIT Press, Cambridge, MA, USA, 1993. ISBN 0262032139.
[2]
Gulwani, Sumit. Automating string processing in spreadsheets using input-output examples. In POPL, pp. 317-330, 2011.
[3]
Gulwani, Sumit. Synthesis from examples: Interaction models and algorithms. 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, 2012.
[4]
Gulwani, Sumit, Korthikanti, Vijay Anand, and Tiwari, Ashish. Synthesizing geometry constructions. In PLDI, pp. 50-61, 2011.
[5]
Gulwani, Sumit, Harris, William R., and Singh, Rishabh. Spreadsheet data manipulation using examples. Commun. ACM, 55(8):97-105, 2012.
[6]
Jha, Susmit, Gulwani, Sumit, Seshia, Sanjit A., and Tiwari, Ashish. Oracle-guided component-based program synthesis. In ICSE, pp. 215-224, 2010.
[7]
Johnson, Mark, Griffiths, Thomas L., and Goldwater, Sharon. Adaptor grammars: A framework for specifying compositional nonparametric bayesian models. In NIPS, pp. 641-648, 2006.
[8]
Lau, Tessa, Wolfman, Steven A., Domingos, Pedro, andWeld, Daniel S. Programming by demonstration using version space algebra. Mach. Learn., 53:111- 156, October 2003. ISSN 0885-6125.
[9]
Lau, Tessa A., Domingos, Pedro, and Weld, Daniel S. Version space algebra and its application to programming by demonstration. In ICML, pp. 527-534, 2000.
[10]
Liang, Percy, Jordan, Michael I., and Klein, Dan. Learning programs: A hierarchical Bayesian approach. In ICML, pp. 639-646, 2010.
[11]
Lieberman, H. Your Wish Is My Command: Programming by Example. Morgan Kaufmann, 2001.
[12]
Miller, Robert C. Lightweight Structure in Text. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, USA, May 2002. URL http://www.cs.cmu.edu/~rcm/papers/thesis/.
[13]
Nix, Robert P. Editing by example. TOPLAS, 7(4): 600-621, 1985.
[14]
Rush, Alexander M., Collins, Michael, and Kaelbling, Pack. A tutorial on dual decomposition and Lagrangian relaxation for inference in natural language processing. http://www.cs.columbia.edu/~mcollins/acltutorial.pdf, 2011.
[15]
Witten, Ian H. and Mo, Dan. TELS: learning text editing tasks from examples, pp. 183-203. MIT Press, Cambridge, MA, USA, 1993. ISBN 0-262-03213-9.

Cited By

View all
  • (2021)PATSQLProceedings of the VLDB Endowment10.14778/3476249.347625314:11(1937-1949)Online publication date: 1-Jul-2021
  • (2021)Generalizable synthesis through unificationProceedings of the ACM on Programming Languages10.1145/34855445:OOPSLA(1-28)Online publication date: 15-Oct-2021
  • (2020)Generating programmatic referring expressions via program synthesisProceedings of the 37th International Conference on Machine Learning10.5555/3524938.3525356(4495-4506)Online publication date: 13-Jul-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICML'13: Proceedings of the 30th International Conference on International Conference on Machine Learning - Volume 28
June 2013
2534 pages

Publisher

JMLR.org

Publication History

Published: 16 June 2013

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)PATSQLProceedings of the VLDB Endowment10.14778/3476249.347625314:11(1937-1949)Online publication date: 1-Jul-2021
  • (2021)Generalizable synthesis through unificationProceedings of the ACM on Programming Languages10.1145/34855445:OOPSLA(1-28)Online publication date: 15-Oct-2021
  • (2020)Generating programmatic referring expressions via program synthesisProceedings of the 37th International Conference on Machine Learning10.5555/3524938.3525356(4495-4506)Online publication date: 13-Jul-2020
  • (2019)Maximal multi-layer specification synthesisProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338951(602-612)Online publication date: 12-Aug-2019
  • (2019)FrAngel: component-based synthesis with control structuresProceedings of the ACM on Programming Languages10.1145/32903863:POPL(1-29)Online publication date: 2-Jan-2019
  • (2018)Library learning for neurally-guided Bayesian program inductionProceedings of the 32nd International Conference on Neural Information Processing Systems10.5555/3327757.3327878(7816-7826)Online publication date: 3-Dec-2018
  • (2018)Accelerating search-based program synthesis using learned probabilistic modelsACM SIGPLAN Notices10.1145/3296979.319241053:4(436-449)Online publication date: 11-Jun-2018
  • (2018)Program synthesis using conflict-driven learningACM SIGPLAN Notices10.1145/3296979.319238253:4(420-435)Online publication date: 11-Jun-2018
  • (2018)Robust relational layout synthesis from examples for AndroidProceedings of the ACM on Programming Languages10.1145/32765262:OOPSLA(1-29)Online publication date: 24-Oct-2018
  • (2018)Programming-by-example for audio: synthesizing digital signal processing programsProceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design10.1145/3242903.3242906(18-25)Online publication date: 17-Sep-2018
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media