Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
surveys:synthesis [2010/04/19 16:26]
jobstman
surveys:synthesis [2011/04/19 16:54]
jobstman
Line 1: Line 1:
-====== Program synthesis ======+====== Program synthesis ​(SURVEY UNDER CONSTRUCTION) ​======
  
-In computer science, ​program synthesis ​refers ​to the development of a program or a digital design from a set of desired properties.+We use the term **program synthesis** to refer to the development of a program or a digital design from a set of desired properties.
 These properties can be described in various ways, e.g., by a set of logical formulas or a mathematical model, by another program that is These properties can be described in various ways, e.g., by a set of logical formulas or a mathematical model, by another program that is
-written in a more abstract programming language. Synthesis is the counterpart to program analysis, which tries to extract a set of properties or a model from a given program or digital design. +written in a more abstract programming language. Synthesis is the counterpart to program analysis, which tries to extract a set of properties or a model from a given program or digital design, or program verification,​ which tries to establish a relationship between a set of properties and the given program or circuit
-The set of desired properties are usually called the //specification of the system// and the constructed system is referred as the  +The set of desired properties are usually called the **specification of the system** and the constructed system is referred as the  
-//implementation of the specification.//+**implementation of the specification.**
  
  
Line 14: Line 14:
   * Logic synthesis (RTL to gate level, net list to layout,...)   * Logic synthesis (RTL to gate level, net list to layout,...)
   * Synthesis from logical specifications   * Synthesis from logical specifications
-  * Domain ​specific synthesizer:​ parser generators (YACC) ​or Statistical program analysis program ​generator (NASA) +  * Model-based design and other domain ​specific synthesizer: ​ 
-  * ...+     ​* ​parser generators (YACC) 
 +     ​* ​generator ​for statistical analyzers ​(AutoBayes Synthesis System, Johann M. Schumann, ​NASA - Moffett Field
 +     * Matlab Simulink from MathWorks (based on a synchronous dataflow language, generates C/C++ code) 
 +     * SCADE Suite from Esterel Technologies (Systems are described using a synchronous language, generates C/C++ code) 
 +     * Bluespec compiler (HDL based on rules, each rule is executed automatically,​ designs have no explicit clock, generates Verilog code)   
 +     * BIP compiler (Systems are describe using extended automata and synchronization constructs, generates C/C++ code) 
 +     * ..
 + 
 +In the following we will focus on synthesis from logical specifications.
  
 ====== Program synthesis from logical specification ====== ====== Program synthesis from logical specification ======
Line 98: Line 106:
 source code satisfying the specification. ​ In some cases, the class of generated program is restricted by the set of available statements or an initial incomplete program. source code satisfying the specification. ​ In some cases, the class of generated program is restricted by the set of available statements or an initial incomplete program.
  
-**Approaches.**+====== ​Approaches ​======
  
 | **Application** | **Input** | **Output** | **Main Techniques** | **Restrictions** | **Contact person** | | **Application** | **Input** | **Output** | **Main Techniques** | **Restrictions** | **Contact person** |
Line 115: Line 123:
  
  
 +**Dagstuhl Talks**
 +|Program Sketching | Rastislav Bodik, UC Berkeley |
 +| | Satish Chandra, IBM TJ Watson Research Center |
 +| Synthesizing Verifiers for Synthesized Code | Ewen W. Denney, NASA |
 +| CEGAR for Synthesis | Bernd Finkbeiner, Universität des Saarlandes |
 +| Dimensions in Program Synthesis | Sumit Gulwani, Microsoft Research | 
 +| Component based Synthesis | Sumit Gulwani, Microsoft Research |
 +| ? | Shachar Itzhaky, Tel Aviv University |
 +| Synthesis of Communicating Automata from MSCs | Joost-Pieter Katoen, RWTH Aachen |
 +| Efficient Synthesis of Asynchronous Systems | Uri Klein, Courant Institute - New York | 
 +| Synthesis Procedures | Viktor Kuncak, EPFL |
 +| Synthesis as Learning Automata from Examples | Martin Leucker, TU München |
 +| Systematic Program Design: From Clarity to Efficiency | Yanhong Annie Liu, SUNY - Stony Brook |
 +| Synthesizing programs using model checking based genetic programming | Doron A. Peled, Bar-Ilan University |
 +| Synchronous Reactive Synthesis From Linear Temporal Logic Specifications | Nir Piterman, Imperial College London |
 +| Synthesizing Hardware from Sketches | Andreas Raabe, TU München |
 +| Software Synthesis is Hard -- and Simple | Sven Schewe, University of Liverpool |
 +| Data Mining of Air Traffic Track Data for NGATS with the AutoBayes Synthesis System | Johann M. Schumann, NASA |
 +| Mechanized Algorithm Design | Douglas R. Smith, Kestrel Institute |
 +| New directions in Computer Supported Programming | Armando Solar-Lezama,​ MIT |
 +| Program Synthesis using SMT Solvers | Saurabh Srivastava, University of Maryland |
 +| Synthesis of Concurrent Algorithms | Martin T. Vechev, IBM TJ Watson Research Center |
 +| Recursive Plans and Imperative Programs Revisited: Deductive Synthesis | Richard Waldinger, SRI |
 +| Abstraction-Guided Synthesis of Synchronization | Eran Yahav, IBM TJ Watson Research Center |
 +| Inferring Synchronization under Limited Observability | Greta Yorsh, IBM TJ Watson Research Center |