Title :
Synthesis from Examples: Interaction Models and Algorithms
Author_Institution :
Microsoft Res., Redmond, WA, USA
Abstract :
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.
Keywords :
automatic programming; computability; computational geometry; formal specification; intelligent tutoring systems; learning (artificial intelligence); macros; search problems; user interfaces; A*-style goal-directed heuristics; AI community; SAT solvers; SMT solvers; algebraic identities; bit vector algorithms; compass based geometry constructions; computational artifacts; end-user programming; example based specifications; formal methods community; intelligent tutoring systems; interaction algorithms; machine learning community; mathematical terms; predictive intellisense; program synthesis; programs; queries; repetitive data manipulation tasks automation; repetitive drawings; ruler based geometry constructions; search algorithm; sequences; spreadsheet macros; synthesis-from-examples; user interaction model; version space algebras; Algebra; Artificial intelligence; Communities; DSL; Geometry; Programming; Synthesizers; Domain Specific Languages; End User Programming; Inductive Synthesis; Intelligent Tutoring Systems; Program Synthesis; Programming By Example;
Conference_Titel :
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2012 14th International Symposium on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4673-5026-6
DOI :
10.1109/SYNASC.2012.69