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
  1. A machine learning framework for programming by example

    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 13 Nov 2024

    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

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media