Advertisement

Fast, Flexible, and Minimal CTL Synthesis via SMT

  • Tobias KlenzeEmail author
  • Sam Bayless
  • Alan J. Hu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9779)

Abstract

CTL synthesis [8] is a long-standing problem with applications to synthesising synchronization protocols and concurrent programs. We show how to formulate CTL model checking in terms of “monotonic theories”, enabling us to use the SAT Modulo Monotonic Theories (SMMT) [5] framework to build an efficient SAT-modulo-CTL solver. This yields a powerful procedure for CTL synthesis, which is not only faster than previous techniques from the literature, but also scales to larger and more difficult formulas. Additionally, because it is a constraint-based approach, it can be easily extended with further constraints to guide the synthesis. Moreover, our approach is efficient at producing minimal Kripke structures on common CTL synthesis benchmarks.

Notes

Acknowledgments

This work was supported in part by a grant from the Natural Sciences and Engineering Research Council of Canada. We also thank Javier Esparza for his encouragement and helpful advice.

Supplementary material

426744_1_En_8_MOESM1_ESM.gz (5.2 mb)
Supplementary material 1 (gz 5283 KB)

References

  1. 1.
    Attie, P., Cherri, A., Dak Al Bab, K., Sakr, M., Saklawi, J.: Model and program repair via SAT solving. In: Formal Methods and Models for Codesign (MEMOCODE), pp. 148–157. ACM/IEEE (2015)Google Scholar
  2. 2.
    Attie, P.C.: Synthesis of large concurrent programs via pairwise composition. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 130–145. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems with many similar processes. ACM Trans. Program. Lang. Sys. (TOPLAS) 20(1), 51–115 (1998)CrossRefGoogle Scholar
  4. 4.
    Attie, P.C., Emerson, E.A.: Synthesis of concurrent programs for an atomic read/write model of computation. ACM Trans. Program. Lang. Sys. (TOPLAS) 23(2), 187–242 (2001)CrossRefGoogle Scholar
  5. 5.
    Bayless, S., Bayless, N., Hoos, H.H., Hu, A.J.: SAT modulo monotonic theories. In: Twenty-Ninth AAAI Conference on Artificial Intelligence (2015)Google Scholar
  6. 6.
    Bruns, G., Godefroid, P.: Model checking partial state spaces with 3-valued temporal logics. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 274–287. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Bustan, D., Grumberg, O.: Simulation-based minimization. ACM Trans. Comput. Logic 4(2), 181–206 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Clarke, E., Emerson, E.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logics of Programs. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  9. 9.
    Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent control with readers and writers. Commun. ACM 14(10), 667–668 (1971)CrossRefGoogle Scholar
  10. 10.
    De Angelis, E., Pettorossi, A., Proietti, M.: Synthesizing concurrent programs using answer set programming. Fundamenta Informaticae 120(3–4), 205–229 (2012)MathSciNetzbMATHGoogle Scholar
  11. 11.
    de Moura, L., Bjørner, N.: Satisfiability modulo theories: an appetizer. In: Oliveira, M.V.M., Woodcock, J. (eds.) SBMF 2009. LNCS, vol. 5902, pp. 23–36. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Emerson, E.A., Halpern, J.Y.: Decision procedures and expressiveness in the temporal logic of branching time. In: Symposium on Theory of Computing, STOC 1982, pp. 169–180. ACM (1982)Google Scholar
  13. 13.
    Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: clasp: a conflict-driven answer set solver. In: Baral, C., Brewka, G., Schlipf, J. (eds.) LPNMR 2007. LNCS (LNAI), vol. 4483, pp. 260–265. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    Heymans, S., Van Nieuwenborgh, D., Hadavandi, E.: Synthesis from temporal specifications using preferred answer set programming. In: Coppo, M., Lodi, E., Pinna, G.M. (eds.) ICTCS 2005. LNCS, vol. 3701, pp. 280–294. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Jacobs, S., Bloem, R.: Parameterized synthesis. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 362–376. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  16. 16.
    Martin, A.: Adequate sets of temporal connectives in CTL. Electron. Notes Theor. Comput. Sci. 52(1), 21–31 (2002). EXPRESS 2001, 8th International Workshop on Expressiveness in Concurrency (Satellite Event of CONCUR 2001)CrossRefzbMATHGoogle Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    Sebastiani, R.: Lazy satisfiability modulo theories. J. Satisfiability Boolean Model. Comput. (JSAT) 3, 141–224 (2007)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.University of British ColumbiaVancouverCanada
  2. 2.Technische Universität MünchenMunichGermany

Personalised recommendations