Bounded Synthesis of Reactive Programs

  • Carsten GerstackerEmail author
  • Felix Klein
  • Bernd Finkbeiner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11138)


Most algorithms for the synthesis of reactive systems focus on the construction of finite-state machines rather than actual programs. This often leads to badly structured, unreadable code. In this paper, we present a bounded synthesis approach that automatically constructs, from a given specification in linear-time temporal logic (LTL), a program in Madhusudan’s simple imperative language for reactive programs. We develop and compare two principal approaches for the reduction of the synthesis problem to a Boolean constraint satisfaction problem. The first reduction is based on a generalization of bounded synthesis to two-way alternating automata, the second reduction is based on a direct encoding of the program syntax in the constraint system. We report on preliminary experience with a prototype implementation, which indicates that the direct encoding outperforms the automata approach.


  1. 1.
    Church, A.: Application of recursive arithmetic to the problem of circuit synthesis. J. Symb. Log. 28(4), 289–290 (1963)CrossRefGoogle Scholar
  2. 2.
    Jobstmann, B., Galler, S., Weiglhofer, M., Bloem, R.: Anzu: a tool for property synthesis. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 258–262. Springer, Heidelberg (2007). Scholar
  3. 3.
    Ehlers, R.: Unbeast: symbolic bounded synthesis. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 272–275. Springer, Heidelberg (2011). Scholar
  4. 4.
    Bohy, A., Bruyère, V., Filiot, E., Jin, N., Raskin, J.-F.: Acacia+, a tool for LTL synthesis. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 652–657. Springer, Heidelberg (2012). Scholar
  5. 5.
    Faymonville, P., Finkbeiner, B., Tentrup, L.: BoSy: an experimentation framework for bounded synthesis. [20] 325–332Google Scholar
  6. 6.
    Bloem, R., Galler, S.J., Jobstmann, B., Piterman, N., Pnueli, A., Weiglhofer, M., et al.: Interactive presentation: automatic hardware synthesis from specifications: a case study. In: Lauwereins, R., Madsen, J. (eds.) DATE, pp. 1188–1193. Nice, France, EDA Consortium, San Jose, CA, USA (2007)Google Scholar
  7. 7.
    Finkbeiner, B., Schewe, S.: Bounded synthesis. STTT 15(5–6), 519–539 (2013)CrossRefGoogle Scholar
  8. 8.
    Finkbeiner, B., Klein, F.: Bounded cycle synthesis. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9779, pp. 118–135. Springer, Cham (2016). Scholar
  9. 9.
    Faymonville, P., Finkbeiner, B., Rabe, M.N., Tentrup, L.: Encodings of bounded synthesis. In: Legay, A., Margaria, T. (eds.) TACAS 2017. LNCS, vol. 10205, pp. 354–370. Springer, Heidelberg (2017). Scholar
  10. 10.
    Alur, R., et al.: Syntax-guided synthesis. In: FMCAD, pp. 1–8. Portland, OR, USA, IEEE (2013)Google Scholar
  11. 11.
    Gulwani, S.: Automating string processing in spreadsheets using input-output examples. In: Ball, T., Sagiv, M. (eds.) POPL, pp. 317–330. Austin, TX, USA, ACM (2011)Google Scholar
  12. 12.
    Osera, P., Zdancewic, S.: Type-and-example-directed program synthesis. In: Grove, D., Blackburn, S. (eds.) PLDI, pp. 619–630. Portland, OR, USA, ACM (2015)Google Scholar
  13. 13.
    Solar-Lezama, A.: Program sketching. STTT 15(5–6), 475–495 (2013)CrossRefGoogle Scholar
  14. 14.
    Vechev, M.T., Yahav, E., Yorsh, G.: Abstraction-guided synthesis of synchronization. STTT 15(5–6), 413–431 (2013)CrossRefGoogle Scholar
  15. 15.
    Madhusudan, P.: Synthesizing reactive programs. In: Bezem, M., (ed.) CSL, Bergen, Norway. Volume 12 of LIPIcs, pp. 428–442. Schloss Dagstuhl (2011)Google Scholar
  16. 16.
    Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Inf. Comput. 115(1), 1–37 (1994)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Gerstacker, C.: Bounded Synthesis of Reactive Programs, Bachelor’s Thesis (2017)Google Scholar
  18. 18.
    Gerstacker, C., Klein, F., Finkbeiner, B.: Bounded synthesis of reactive programs. CoRR 1807.09047 (2018)Google Scholar
  19. 19.
    Khalimov, A., Bloem, R.: Bounded Synthesis for Streett, Rabin, and CTL\(^{*}\). [20] 333–352Google Scholar
  20. 20.
    Majumdar, R., Kunčak, V. (eds.): CAV 2017. LNCS, vol. 10427. Springer, Cham (2017). Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Carsten Gerstacker
    • 1
    Email author
  • Felix Klein
    • 1
  • Bernd Finkbeiner
    • 1
  1. 1.Reactive Systems GroupSaarland UniversitySaarbrückenGermany

Personalised recommendations