Programming by Demonstration
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...
- 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
- Cypher A. (Ed.) (1993b). Watch what I do: Programming by demonstration. Cambridge, MA: MIT Press.Google Scholar
- Lieberman, H. (Ed.) (2001). Your wish is my command: Programming by example. San Francisco, CA: Morgan Kaufmann.Google Scholar