Synthesizing Non-Vacuous Systems

  • Roderick Bloem
  • Hana Chockler
  • Masoud Ebrahimi
  • Ofer StrichmanEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10145)


Vacuity detection is a common practice accompanying model checking of hardware designs. Roughly speaking, a system satisfies a specification vacuously if it can satisfy a stronger specification obtained by replacing some of its subformulas with stronger expressions. If this happens then part of the specification is immaterial, which typically indicates that there is a problem in the model or the specification itself.

We propose to apply the concept of vacuity to the synthesis problem. In synthesis, there is often a problem that the specifications are incomplete, hence under-specifying the desired behaviour, which may lead to a situation in which the synthesised system is different than the one intended by the designer. To address this problem we suggest an algorithm and a tool for non-vacuous bounded synthesis. It combines synthesis for universal and existential properties; the latter stems from the requirement to have at least one interesting witness for each strengthening of the specification. Even when the system satisfies the specification non-vacuously, our tool is capable of improving it by synthesizing a system that has additional interesting witnesses. The user decides when the system reflects their intent.



This work was supported by the TU Graz LEAD project “Dependable Internet of Things in Adverse Environments” and the Austrian Science Fund (FWF) under the RiSE National Research Network (S11406). We would like to thank Nir Piterman for his insights on infinite chains of ever less vacuous systems and Ayrat Khalimov for his comments on existential bounded synthesis and his valuable assistance with the implementation.


  1. 1.
    Armoni, R., Fix, L., Flaisher, A., Grumberg, O., Piterman, N., Tiemeyer, A., Vardi, M.Y.: Enhanced vacuity detection in linear temporal logic. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 368–380. Springer, Heidelberg (2003). doi: 10.1007/978-3-540-45069-6_35 CrossRefGoogle Scholar
  2. 2.
    Beer, I., Ben-David, S., Eisner, C., Rodeh, Y.: Efficient detection of vacuity in ACTL formulas. Formal Methods Syst. Des. 18(2), 141–163 (2001)CrossRefzbMATHGoogle Scholar
  3. 3.
    Bloem, R., Chatterjee, K., Greimel, K., Henzinger, T.A., Hofferek, G., Jobstmann, B., Könighofer, B., Könighofer, R.: Synthesizing robust systems. Acta Inf. 51, 193–220 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Bloem, R., Chatterjee, K., Henzinger, T.A., Jobstmann, B.: Better quality in synthesis through quantitative objectives. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 140–156. Springer, Berlin (2009). doi: 10.1007/978-3-642-02658-4_14 CrossRefGoogle Scholar
  5. 5.
    Bustan, D., Flaisher, A., Grumberg, O., Kupferman, O., Vardi, M.Y.: Regular vacuity. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 191–206. Springer, Heidelberg (2005). doi: 10.1007/11560548_16 CrossRefGoogle Scholar
  6. 6.
    Gurfinkel, A., Chechik, M.: Extending extended vacuity. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 306–321. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-30494-4_22 CrossRefGoogle Scholar
  7. 7.
    Chockler, H., Gurfinkel, A., Strichman, O.: Beyond vacuity: towards the strongest passing formula. Formal Methods Syst. Des. 43(3), 552–571 (2013)CrossRefzbMATHGoogle Scholar
  8. 8.
    Church, A.: Logic, arithmetics, and automata. In: ICM (1963)Google Scholar
  9. 9.
    Finkbeiner, B., Schewe, S.: Bounded synthesis. Int. J. Softw. Tools Technol. Transfer 15(5), 519–539 (2012)zbMATHGoogle Scholar
  10. 10.
    Jacobs, S., Bloem, R., Brenguier, R., Könighofer, R., Pérez, G.A., Raskin, J., Ryzhyk, L., Sankur, O., Seidl, M., Tentrup, L., Walker, A.: The second reactive synthesis competition. In: SYNT (2015)Google Scholar
  11. 11.
    Jobstmann, B., Staber, S., Griesmayer, A., Bloem, R.: Finding and fixing faults. J. Comput. Syst. Sci. 78(2), 441–460 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Khalimov, A., Jacobs, S., Bloem, R.: PARTY parameterized synthesis of token rings. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 928–933. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39799-8_66 CrossRefGoogle Scholar
  13. 13.
    Kupferman, O., Vardi, M.: Vacuity detection in temporal model checking. J. Softw. Tools Technol. Transfer 4(2), 224–233 (2003)CrossRefzbMATHGoogle Scholar
  14. 14.
    Namjoshi, K.S.: An efficiently checkable, proof-based formulation of vacuity in model checking. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 57–69. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-27813-9_5 CrossRefGoogle Scholar
  15. 15.
    Pnueli, A.: The temporal logic of programs. In: FOCS (1977)Google Scholar
  16. 16.
    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: POPL (1989)Google Scholar
  17. 17.
    Samanta, R., Deshmukh, J.V., Chaudhuri, S.: Robustness analysis of networked systems. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 229–247. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35873-9_15 CrossRefGoogle Scholar
  18. 18.
    Vardi, M., Wolper, P.: Reasoning about infinite computations. Inf. Comput. 115(1), 1–37 (1994)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Roderick Bloem
    • 1
  • Hana Chockler
    • 2
  • Masoud Ebrahimi
    • 1
  • Ofer Strichman
    • 3
    Email author
  1. 1.Graz University of TechnologyGrazAustria
  2. 2.King’s College LondonLondonUK
  3. 3.Information Systems Engineering, IE, TechnionHaifaIsrael

Personalised recommendations