TY - GEN
T1 - Synthesizing reactive programs
AU - Madhusudan, P.
PY - 2011
Y1 - 2011
N2 - 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.
AB - 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.
KW - Automata theory
KW - Boolean programs
KW - Program synthesis
KW - Temporal logics
UR - http://www.scopus.com/inward/record.url?scp=84864069693&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84864069693&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.CSL.2011.428
DO - 10.4230/LIPIcs.CSL.2011.428
M3 - Conference contribution
AN - SCOPUS:84864069693
SN - 9783939897323
T3 - Leibniz International Proceedings in Informatics, LIPIcs
SP - 428
EP - 442
BT - Computer Science Logic 2011 - 25th International Workshop/20th Annual Conference of the EACSL, CSL 2011
T2 - 25th International Workshop on Computer Science Logic, CSL 2011/20th Annual Conference of the European Association for Computer Science Logic, EACSL
Y2 - 12 September 2011 through 15 September 2011
ER -