CAV 2017: Computer Aided Verification pp 333-352 | Cite as
Bounded Synthesis for Streett, Rabin, and \(\text {CTL}^{*}\)
Abstract
SMT-based bounded synthesis uses an SMT solver to synthesize systems from LTL properties by going through co-Büchi automata. In this paper, we show how to extend the ranking functions used in Bounded Synthesis, and thus the bounded synthesis approach, to Büchi, Parity, Rabin, and Streett conditions. We show that we can handle both existential and universal properties this way, and therefore, that we can extend Bounded Synthesis to \(\text {CTL}^{*}\). Thus, we obtain the first Safraless synthesis approach and the first synthesis tool for (conjunctions of) the acceptance conditions mentioned above, and for \(\text {CTL}^{*}\).
Notes
Acknowledgements
We thank Swen Jacobs and Bernd Finkbeiner for early discussions on bounded synthesis for GR(1), Nir Piterman for explaining Streett/Rabin ranking constructions and alternating automata. This work was supported by the Austrian Science Fund (FWF) under the RiSE National Research Network (S11406).
References
- 1.Babiak, T., Křetínský, M., Řehák, V., Strejček, J.: LTL to büchi automata translation: fast and more deterministic. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 95–109. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28756-5_8 CrossRefGoogle Scholar
- 2.Baier, C., Katoen, J.P.: Principles of Model Checking, vol. 26202649. MIT Press, Cambridge (2008)MATHGoogle Scholar
- 3.Bertrand, N., Fearnley, J., Schewe, S.: Bounded satisfiability for PCTL. In: Cégielski, P., Durand, A. (eds.) CSL. LIPICS, vol. 16, pp. 92–106. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2012). http://drops.dagstuhl.de/opus/volltexte/2012/3666
- 4.Beyene, T., Chaudhuri, S., Popeea, C., Rybalchenko, A.: A constraint-based approach to solving games on infinite graphs. SIGPLAN Not. 49(1), 221–233 (2014). doi: 10.1145/2578855.2535860 MATHGoogle Scholar
- 5.Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Sa’ar, Y.: Synthesis of reactive(1) designs. J. Comput. Syst. Sci. 78, 911–938 (2012)MathSciNetCrossRefMATHGoogle Scholar
- 6.Bloem, R., Braud-Santoni, N., Jacobs, S.: Synthesis of self-stabilising and byzantine-resilient distributed systems. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9779, pp. 157–176. Springer, Cham (2016). doi: 10.1007/978-3-319-41528-4_9 Google Scholar
- 7.Bloem, R., Chatterjee, K., Jacobs, S., Könighofer, R.: Assume-guarantee synthesis for concurrent reactive programs with partial information. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 517–532. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-46681-0_50 Google Scholar
- 8.Bloem, R., Chockler, H., Ebrahimi, M., Strichman, O.: Synthesizing non-vacuous systems. In: Bouajjani, A., Monniaux, D. (eds.) VMCAI 2017. LNCS, vol. 10145, pp. 55–72. Springer, Cham (2017). doi: 10.1007/978-3-319-52234-0_4 CrossRefGoogle Scholar
- 9.Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986). doi: 10.1145/5397.5399 CrossRefMATHGoogle Scholar
- 10.De Angelis, E., Pettorossi, A., Proietti, M.: Synthesizing concurrent programs using answer set programming. Fundam. Inform. 120(3–4), 205–229 (2012)MathSciNetMATHGoogle Scholar
- 11.de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
- 12.Filiot, E., Jin, N., Raskin, J.: Antichains and compositional algorithms for LTL synthesis. Form. Methods Syst. Des. 39(3), 261–296 (2011). doi: 10.1007/s10703-011-0115-3 CrossRefMATHGoogle Scholar
- 13.Jacobs, S., Bloem, R.: Parameterized synthesis. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 362–376. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28756-5_25 CrossRefGoogle Scholar
- 14.Jurdziński, M.: Small progress measures for solving parity games. In: Reichel, H., Tison, S. (eds.) STACS 2000. LNCS, vol. 1770, pp. 290–301. Springer, Heidelberg (2000). doi: 10.1007/3-540-46541-3_24 CrossRefGoogle Scholar
- 15.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
- 16.Klenze, T., Bayless, S., Hu, A.J.: Fast, flexible, and minimal CTL synthesis via SMT. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9779, pp. 136–156. Springer, Cham (2016). doi: 10.1007/978-3-319-41528-4_8 Google Scholar
- 17.Kupferman, O., Vardi, M.Y.: Safraless decision procedures. In: FOCS. pp. 531–542 (2005)Google Scholar
- 18.Kupferman, O., Vardi, M.Y., Wolper, P.: An automata-theoretic approach to branching-time model checking. J. ACM 47(2), 312–360 (2000). doi: 10.1145/333979.333987 MathSciNetCrossRefMATHGoogle Scholar
- 19.Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic specifications. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 253–281. Springer, Heidelberg (1982). doi: 10.1007/BFb0025786 CrossRefGoogle Scholar
- 20.Piterman, N.: From nondeterministic Büchi and Streett automata to deterministic parity automata. In: LICS. pp. 255–264. IEEE Computer Society (2006). http://dx.doi.org/10.1109/LICS.2006.28
- 21.Piterman, N., Pnueli, A.: Faster solutions of Rabin and Streett games. In: Proceedings of the 21th IEEE Symposium on Logic in Computer Science (LICS 2006), 12–15 August 2006, Seattle, WA, USA, pp. 275–284 (2006). http://dx.doi.org/10.1109/LICS.2006.23
- 22.Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, 1977, pp. 46–57. IEEE (1977)Google Scholar
- 23.Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, USA, 11–13 January 1989, pp. 179–190. ACM Press (1989). http://doi.acm.org/10.1145/75277.75293
- 24.Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: 31st Annual Symposium on Foundations of Computer Science, St. Louis, Missouri, USA, 22–24 October 1990, Vol. 2, pp. 746–757. IEEE Computer Society (1990). http://dx.doi.org/10.1109/FSCS.1990.89597
- 25.Prezza, N.: CTL (Computation Tree Logic) sat solver. https://github.com/nicolaprezza/CTLSAT
- 26.Safra, S.: On the complexity of omega-automata. In: 29th Annual Symposium on Foundations of Computer Science, White Plains, New York, USA, 24–26 October 1988, pp. 319–327. IEEE Computer Society (1988). http://dx.doi.org/10.1109/SFCS.1988.21948
- 27.Schewe, S., Finkbeiner, B.: Bounded synthesis. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds.) ATVA 2007. LNCS, vol. 4762, pp. 474–488. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-75596-8_33 CrossRefGoogle Scholar
- 28.Sohail, S., Somenzi, F.: Safety first: a two-stage algorithm for the synthesis of reactive systems. STTT 15(5–6), 433–454 (2013). doi: 10.1007/s10009-012-0224-3 CrossRefGoogle Scholar
- 29.Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Inf. Comput. 115(1), 1–37 (1994). doi: 10.1006/inco.1994.1092 MathSciNetCrossRefMATHGoogle Scholar
- 30.Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths (extended abstract). In: 24th Annual Symposium on Foundations of Computer Science, Tucson, Arizona, USA, 7–9 November 1983, pp. 185–194. IEEE Computer Society (1983). http://dx.doi.org/10.1109/SFCS.1983.51