Encyclopedia of Machine Learning

2010 Edition
| Editors: Claude Sammut, Geoffrey I. Webb

Programming by Demonstration

  • Pierre Flener
  • Ute Schmid
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-30164-8_673



Programming by demonstration (PBD) describes a collection of approaches for the support of end-user programming with the goal of making the power of computers fully accessible to all users. The general objective is to teachcomputer systems new behavior by demonstrating (repetitive) actions on concrete examples. A user provides examples of how a program should operate, either by demonstrating trace steps or by showing examples of the inputs and outputs, and the system infers a generalized program that achieves those examples and can be applied to new examples. Typical areas of application are macro generation (e.g., for text editing), simple arithmetic functions in spreadsheets, simple shell programs, XML transformations, or query-replace commands, as well as the generation of helper programs for web agents, geographic information systems, or computer-aided design. The most challenging approach to PBD is to obtain generalizable examples by...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. Cypher, A. (1993a). Programming repetitive tasks by demonstration. In A. Cypher (Ed.), Watch what I do: Programming by demonstration (pp. 205–217). Cambridge, MA: MIT Press.Google Scholar
  2. Cypher A. (Ed.) (1993b). Watch what I do: Programming by demonstration. Cambridge, MA: MIT Press.Google Scholar
  3. Lieberman, H. (Ed.) (2001). Your wish is my command: Programming by example. San Francisco, CA: Morgan Kaufmann.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Pierre Flener
    • 1
  • Ute Schmid
    • 1
  1. 1.Sabancı UniversityOrhanlıTurkey