@inproceedings{6025f4d1ac8245c2bb4423765b18bab7,
title = "Synthesizing reactive programs",
abstract = "Current theoretical solutions to the classical Church's synthesis problem are focused on synthesizing transition systems and not programs. Programs are compact and often the true aim in many synthesis problems, while the transition systems that correspond to them are often large and not very useful as synthesized artefacts. Consequently, current practical techniques first synthesize a transition system, and then extract a more compact representation from it. We reformulate the synthesis of reactive systems directly 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 visibly-pushdown language specifications. Finally, we show applications to program repair, and conclude with open problems in synthesizing distributed programs.",
keywords = "Automata theory, Boolean programs, Program synthesis, Temporal logics",
author = "P. Madhusudan",
year = "2011",
doi = "10.4230/LIPIcs.CSL.2011.428",
language = "English (US)",
isbn = "9783939897323",
series = "Leibniz International Proceedings in Informatics, LIPIcs",
pages = "428--442",
booktitle = "Computer Science Logic 2011 - 25th International Workshop/20th Annual Conference of the EACSL, CSL 2011",
note = "25th International Workshop on Computer Science Logic, CSL 2011/20th Annual Conference of the European Association for Computer Science Logic, EACSL ; Conference date: 12-09-2011 Through 15-09-2011",
}