From relational verification to SIMD loop synthesis
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
SmartSynth: synthesizing smartphone automation scripts from natural language
Proceeding of the 11th annual international conference on Mobile systems, applications, and services
A trace-based framework for analyzing and synthesizing educational progressions
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A colorful approach to text processing by example
Proceedings of the 26th annual ACM symposium on User interface software and technology
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
A practical framework for constructing structured drawings
Proceedings of the 19th international conference on Intelligent User Interfaces
Hi-index | 0.00 |
Examples are often a natural way to specify various computational artifacts such as programs, queries, and sequences. Synthesizing such artifacts from example based specifications has various applications in the domains of end-user programming and intelligent tutoring systems. Synthesis from examples involves addressing two key technical challenges: (i) design of a user interaction model to deal with the inherent ambiguity in the example based specification. (ii) design of an efficient search algorithm - these algorithms have been based on paradigms from various communities including use of SAT/SMT solvers (formal methods community), version space algebras (machine learning community), and A*-style goal-directed heuristics (AI community). This paper describes some effective user interaction models and algorithmic methodologies for synthesis from examples while discussing synthesizers for a variety of artifacts ranging from tricky bit vector algorithms, spreadsheet macros for automating repetitive data manipulation tasks, ruler/compass based geometry constructions, algebraic identities, and predictive intellisense for repetitive drawings and mathematical terms.