It is frustrating to perform highly repetitive editing tasks
manually and their execution should be automated for the benefit of
computer users. Repetitive editing can be accomplished by writing
a program; however, programming is beyond the scope of many end users.
This thesis describes how ideas for programming by example
can be applied to the repetitive editing task problem. Rather
than having users program a task, a programming-by-example system requires
them to specify examples of how to perform it and synthesizes from
these a program that performs the task.
It is argued that a prototype of the procedure, possibly including
variables, conditionals and loops, should be constructed from a single
editing trace. The generalization of constraints for editing actions and
the introduction of additional variables and control structures can be
accomplished during subsequent executions of the prototype procedure, and
the search for generalizations is limited by the built-in text editing
knowledge. Interactive debugging is proposed to combat the unreliability
of the procedure taught by example.
A text editing learning system, TELS, was designed and implemented.
Performance on selected tasks is evaluated empirically and analytically.
It is shown to be able to learn procedures that include variables and
control structures. The original technical contribution that the thesis
makes is that the system provides facilities for interactive debugging
of programs taught by example. The principal shortcoming of the work
is that the system has not yet been tested with actual untrained users.
We are currently acquiring citations for the work deposited into this collection. We recognize the distribution rights of this item may have been assigned to another entity, other than the author(s) of the work.If you can provide the citation for this work or you think you own the distribution rights to this work please contact the Institutional Repository Administrator at email@example.com