### BibTeX

@MISC{Madhusudan_synthesizingreactive,

author = {P. Madhusudan},

title = {Synthesizing Reactive Programs},

year = {}

}

### OpenURL

### Abstract

We argue that the classic Church’s synthesis problem and the subsequent research that is has spurred is really targeted towards synthesizing transition systems and not programs. We believe that the objective of synthesis must be programs; programs are compact and are the true aim in many synthesis problems, while the transition systems that correspond to them are often large and useless as synthesized artefacts. We reformulate the synthesis of reactive systems in terms of program synthesis, and develop a theory to show that the problem of synthesizing programs over a fixed set of Boolean variables in a simple imperative programming language is decidable for regular ω-specifications. We also present results for synthesizing programs with recursion against both regular specifications as well as visiblypushdown language specifications. Finally, we show applications to program repair, and conclude with open problems in synthesizing distributed programs. 1

### Citations

1318 |
The temporal logic of programs
- Pnueli
- 1977
(Show Context)
Citation Context ...ch has now been well-studied and honed into a beautiful theory that underlies much of the decidable results in automata theory [17, 7]. Coupled with the temporal-logic to automata connection on words =-=[10, 19, 14]-=-, tree-automata theory gives the most elegant solution to Church’s problem: compile the specification into a deterministic parity automaton on infinite words [14], using this build a parity tree-autom... |

368 |
On the synthesis of a reactive module
- Pnueli, Rosner
- 1989
(Show Context)
Citation Context ...correspond to strategies for the system to generate outputs for inputs so that all paths in the tree are accepted by the specification automaton, and finally check the emptiness of the tree automaton =-=[11]-=-. The synthesis problem has received a lot of attention in recent years, both in theory as well as in practice. Theoretical approaches include extensions to branching time specifications, the very non... |

265 | Reasoning about infinite computations
- Vardi, Wolper
- 1994
(Show Context)
Citation Context ...ch has now been well-studied and honed into a beautiful theory that underlies much of the decidable results in automata theory [17, 7]. Coupled with the temporal-logic to automata connection on words =-=[10, 19, 14]-=-, tree-automata theory gives the most elegant solution to Church’s problem: compile the specification into a deterministic parity automaton on infinite words [14], using this build a parity tree-autom... |

148 |
Solving sequential conditions by finite-state strategies
- Büchi, Landweber
- 1969
(Show Context)
Citation Context ...om a problem posed by Church in 1957 on synthesizing digital circuits from specifications written in a restricted logic of arithmetic [5]. This problem was solved first by Büchi and Landweber in 1969 =-=[4]-=- (see [18] for an account of the history of this problem). The 70s saw the emergence of the elegant theory of automata on infinite trees by Rabin [13], which has now been well-studied and honed into a... |

135 | Reasoning about the Past with Two-way Automata
- Vardi
- 1998
(Show Context)
Citation Context ...of its description encoded as a string. It is well-known that two-way alternating tree automata can be converted to non-deterministic tree automata with an exponential blow-up in the state-space (see =-=[20]-=- for example, where such a construction is shown for automata on infinite trees). We can do a similar construction (which we omit here) to convert alternating Büchi or co-Büchi tree automata over fini... |

114 |
On the complexity of ω-automata
- Safra
(Show Context)
Citation Context ...ch has now been well-studied and honed into a beautiful theory that underlies much of the decidable results in automata theory [17, 7]. Coupled with the temporal-logic to automata connection on words =-=[10, 19, 14]-=-, tree-automata theory gives the most elegant solution to Church’s problem: compile the specification into a deterministic parity automaton on infinite words [14], using this build a parity tree-autom... |

86 |
R.: Distributed reactive systems are hard to synthesize
- Pnueli, Rosner
- 1990
(Show Context)
Citation Context ...on in recent years, both in theory as well as in practice. Theoretical approaches include extensions to branching time specifications, the very non-trivial problem of synthesizing distributed systems =-=[12, 9]-=-, and synthesis with incomplete information where the environment and system may not have perfect information about the state of each other [8]. In all these problems, synthesis has concentrated on de... |

83 | Adding nesting structure to words
- Alur, Madhusudan
(Show Context)
Citation Context ... required is one that synthesizes all recursive programs that satisfies a specification. Our proof procedure also extends smoothly to synthesizing recursive programs against visibly pushdown automata =-=[3]-=- specifications, which are a class of specifications larger than that of regular specifications. This includes the class of temporal logics for recursive programs defined that can be compiled into vis... |

66 |
Automata on Infinite Objects and Church’s Problem, volume 13
- Rabin
- 1972
(Show Context)
Citation Context ...em was solved first by Büchi and Landweber in 1969 [4] (see [18] for an account of the history of this problem). The 70s saw the emergence of the elegant theory of automata on infinite trees by Rabin =-=[13]-=-, which has now been well-studied and honed into a beautiful theory that underlies much of the decidable results in automata theory [17, 7]. Coupled with the temporal-logic to automata connection on w... |

62 | A temporal logic of nested calls and returns
- Alur, Etessami, et al.
- 2004
(Show Context)
Citation Context ...ications larger than that of regular specifications. This includes the class of temporal logics for recursive programs defined that can be compiled into visibly pushdown Büchi automata, such as CARET =-=[2]-=- and and NWTL [1]. We note that the results in this section on synthesizing recursive programs against non-regular specifications do not have any natural analog in the transition-system world that we ... |

62 | Synthesis of reactive(1) designs - Piterman, Pnueli, et al. |

55 | From program verification to program synthesis
- Srivastava, Gulwani, et al.
- 2010
(Show Context)
Citation Context ...need to develop the theory for synthesizing such artefacts from specifications. There is in fact a flurry of research in the programming languages community in the last few years on program synthesis =-=[16, 15]-=-. In general, these algorithms are aimed at practical synthesis approaches towards solving standard algorithmic problems (such as sorting, synthesizing Strassen’s multiplication algorithm, etc.). In t... |

33 | M.Y.: Open systems in reactive environments: Control and synthesis - Kupferman, Madhusudan, et al. - 2000 |

28 | P.S.: Distributed controller synthesis for local speci
- Madhusudan, Thiagarajan
(Show Context)
Citation Context ...on in recent years, both in theory as well as in practice. Theoretical approaches include extensions to branching time specifications, the very non-trivial problem of synthesizing distributed systems =-=[12, 9]-=-, and synthesis with incomplete information where the environment and system may not have perfect information about the state of each other [8]. In all these problems, synthesis has concentrated on de... |

17 |
Applicaton of recursive arithmetics to the problem of circuit synthesis
- Church
- 1957
(Show Context)
Citation Context ...e systems is a classical problem in computer science, and stems from a problem posed by Church in 1957 on synthesizing digital circuits from specifications written in a restricted logic of arithmetic =-=[5]-=-. This problem was solved first by Büchi and Landweber in 1969 [4] (see [18] for an account of the history of this problem). The 70s saw the emergence of the elegant theory of automata on infinite tre... |

15 | Bounded synthesis - Schewe, Finkbeiner - 2007 |

14 | First-order and temporal logics for nested words
- Alur, Arenas, et al.
(Show Context)
Citation Context ...han that of regular specifications. This includes the class of temporal logics for recursive programs defined that can be compiled into visibly pushdown Büchi automata, such as CARET [2] and and NWTL =-=[1]-=-. We note that the results in this section on synthesizing recursive programs against non-regular specifications do not have any natural analog in the transition-system world that we know of. Recursiv... |

14 |
Church’s problem revisited
- Kupferman, Vardi
- 1999
(Show Context)
Citation Context ...-trivial problem of synthesizing distributed systems [12, 9], and synthesis with incomplete information where the environment and system may not have perfect information about the state of each other =-=[8]-=-. In all these problems, synthesis has concentrated on designing transition systems. In other words, the algorithms for synthesis in the end output transition systems that meet the specification. Whil... |

8 | compile, run: Hardware from PSL - Specify |

6 |
M.: Tree Automata Techniques and Applications. (2002) Available at http://www.grappa.univ-lille3.fr/tata
- Comon, Dauchet, et al.
(Show Context)
Citation Context ...e-automata, with different transition functions defined for nodes that have a left-child only, a right-child only, or has both children. We refer the reader to a textbook on tree automata for details =-=[6]-=-; we fix here only a brief definition and notation. A non-deterministic finite tree automaton on Σ-labeled trees is a structure A = (Q, q0, δL, δR, δLR, F ), where Q is a finite set of states, q0 ∈ Q,... |

6 |
The sketching approach to program synthesis
- Solar-Lezama
(Show Context)
Citation Context ...need to develop the theory for synthesizing such artefacts from specifications. There is in fact a flurry of research in the programming languages community in the last few years on program synthesis =-=[16, 15]-=-. In general, these algorithms are aimed at practical synthesis approaches towards solving standard algorithmic problems (such as sorting, synthesizing Strassen’s multiplication algorithm, etc.). In t... |

5 | Facets of synthesis: Revisiting church’s problem
- Thomas
(Show Context)
Citation Context ...lem posed by Church in 1957 on synthesizing digital circuits from specifications written in a restricted logic of arithmetic [5]. This problem was solved first by Büchi and Landweber in 1969 [4] (see =-=[18]-=- for an account of the history of this problem). The 70s saw the emergence of the elegant theory of automata on infinite trees by Rabin [13], which has now been well-studied and honed into a beautiful... |

5 | Control and Synthesis of Open Reactive Systems - Madhusudan - 2001 |

1 | This research was partially supported by NSF CAREER award 1 Rajeev - Alur, Barceló, et al. |

1 | Pnueli and Roni Rosner. Distributed reactive systems are hard to synthesize - Amir - 1990 |

1 | L ’ 1 1 Synthesizing Reactive Programs 4 - S |