The TEXbook
The String-to-String Correction Problem
Journal of the ACM (JACM)
The Complexity of Some Problems on Subsequences and Supersequences
Journal of the ACM (JACM)
Interactive Editing Systems: Part II
ACM Computing Surveys (CSUR)
A fast algorithm for computing longest common subsequences
Communications of the ACM
A linear space algorithm for computing maximal common subsequences
Communications of the ACM
Communications of the ACM
A high-level approach to computer document formatting
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Experience with an applicative string processing language
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Polynomial Time Inference of Extended Regular Pattern Languages
Proceedings of RIMS Symposium on Software Science and Engineering
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
T: a dialect of Lisp or LAMBDA: The ultimate software tool
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
A session with Tinker: Interleaving program testing with program design
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
EMACS the extensible, customizable self-documenting display editor
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
Programming by abstract demonstration.
Programming by abstract demonstration.
Programming by example
Creating highly-interactive and graphical user interfaces by demonstration
SIGGRAPH '86 Proceedings of the 13th annual conference on Computer graphics and interactive techniques
Gaining general acceptance for UIMSs
ACM SIGGRAPH Computer Graphics
Creating user interfaces using programming by example, visual programming, and constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Text formatting by demonstration
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Demonstrational Interfaces: A Step Beyond Direct Manipulation
Computer - Special issue on sharing: high performance at low cost
TransformGen: automating the maintenance of structure-oriented environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
Repeat and predict—two keys to efficient text editing
CHI '94 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Demonstrational automation of text editing tasks involving multiple focus points and conversions
IUI '98 Proceedings of the 3rd international conference on Intelligent user interfaces
Outlier finding: focusing user attention on possible errors
Proceedings of the 14th annual ACM symposium on User interface software and technology
Multiple selections in smart text editing
Proceedings of the 7th international conference on Intelligent user interfaces
Diagrammatic Integration of Abstract Operations into Software Work Contexts
DIAGRAMS '02 Proceedings of the Second International Conference on Diagrammatic Representation and Inference
Interactive Simultaneous Editing of Multiple Text Regions
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Programming by Demonstration Using Version Space Algebra
Machine Learning
An experimental evaluation of continuous testing during development
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Proceedings of the 27th international conference on Software engineering
Aligning development tools with the way programmers think about code changes
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Intelligently creating and recommending reusable reformatting rules
Proceedings of the 14th international conference on Intelligent user interfaces
Taxonomies of visual programming and program visualization
Journal of Visual Languages and Computing
Dimensions in program synthesis
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Sharing, finding and reusing end-user code for reformatting and validating data
Journal of Visual Languages and Computing
Automating string processing in spreadsheets using input-output examples
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A colorful approach to text processing by example
Proceedings of the 26th annual ACM symposium on User interface software and technology
Hi-index | 0.00 |
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.