|
ABSTRACT
An editing by example system is an automatic program synthesis facility embedded in a text editor that can be used to solve repetitive text editing problems. The user provides the editor with a few examples of a text transformation. The system analyzes the examples and generalizes them into a program that can perform the transformation to the rest of the user's text. This paper presents an overview of the design, analysis, and implementation of a practical editing by example system. It studies the problem of synthesizing a text processing program that generalizes the transformation implicitly described by a small number of input/output examples. A class of text processing programs called gap programs is defined and the problems associated with synthesizing them from examples are examined, leading to an efficient heuristic that provably synthesizes a gap program from examples of its input/output behavior. The editing by example system derived from this analysis has been embedded in a production text editor. By developing an editing by example system that solves a useful class of text processing problems, this work demonstrates that program synthesis is feasible in the domain of text editing.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
AHO, A. V., KERNIGHAN, B. W., AND WEINBERGER, P.J. AWK--A pattern matching and scanning language. Softw. Pract. Exper. 9, 4 (April 1979), 267-280.
|
| |
2
|
ANGLUIN, D. Finding patterns common to a set of strings. J. Comput. Syst. Sci. 21 (1980), 46-62.
|
| |
3
|
ANGLUIN, D., AND SMITH, C. A survey of inductive inference: theory and methods. Res. Rep. 250, Dep. Computer Science, Yale University, Oct. 1982.
|
| |
4
|
BIERMANN, A. W., AND FELDMAN, J. A. A survey of results in grammatical inference. In Frontiers of Pattern Recognition, Academic Press, New York, 1972.
|
| |
5
|
|
| |
6
|
ELLIS, J. R., MISHKIN, N. W., NIX, R. P., AND WOOD, S.R. A BLISS programming environment. Res. Rep. 231, Dep. Computer Science, Yale University, June 1982.
|
| |
7
|
ELLIS, J. R., MISHKIN, N. W., VAN LEUNEN, M.-C., AND WOOD, S.R. Tools: An environment for timeshared computing and programming. Softw. Pract. Exper. (Oct. 1983).
|
| |
8
|
Fu, K. S., AND BOOTH, T.L. Grammatical inference: Introduction and survey, parts I and 2. IEEE Trans. Syst. Man, Cybern. SMC-5 (1975), 95-111 and 409-423.
|
| |
9
|
GOLD, E.M. Language identification in the limit. Inf. Control 10 (1967), 447-474.
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
|
 |
16
|
|
 |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
NIx, R.P. Editing by example. Ph.D. dissertation, Dep. Computer Science, Yale University, 1983; also appeared as Yale University Dep. Computer Science Res. Rep. 280.
|
 |
21
|
|
| |
22
|
NIX, R. P., AND MISHKIN, N.W. U Editor user's and programmer's manual. Internal memo., Dep. Computer Science, Yale University, 1983.
|
 |
23
|
|
| |
24
|
REES, J. A., AND ADAMS, N.I. T user's manual. Internal memo., Dep. Computer Science, Yale University, 1982.
|
 |
25
|
|
| |
26
|
|
| |
27
|
SHINOHARA, T. Polynomial time inference of pattern languages and its application. In Proc. 7th IBM Syrup. Mathematical Foundations of Computer Science, 1982.
|
| |
28
|
SMITH, D.C. Pygmalion: A computer program to model and stimulate creative thought. Ph.D. dissertation, Computer Science Dep., Stanford University, 1975; also appeared as AIM-260, June 1975, and as a book from Birkbauser Verlag, 1977.
|
 |
29
|
|
 |
30
|
|
 |
31
|
|
REVIEW
"Hans J. Schneider : Reviewer"
An editing by example system is an automatic program synthesis facility,
embedded in a text editor, that can be used to solve repetitive text editing
problems. The system analyzes a few examples the user provides it with and
generalizes them int
more...
|