Lazy Automata Techniques for WS1S

  • Tomáš Fiedor
  • Lukáš Holík
  • Petr Janků
  • Ondřej Lengál
  • Tomáš Vojnar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10205)

Abstract

We present a new decision procedure for the logic WS1S. It originates from the classical approach, which first builds an automaton accepting all models of a formula and then tests whether its language is empty. The main novelty is to test the emptiness on the fly, while constructing a symbolic, term-based representation of the automaton, and prune the constructed state space from parts irrelevant to the test. The pruning is done by a generalization of two techniques used in antichain-based language inclusion and universality checking of finite automata: subsumption and early termination. The richer structure of the WS1S decision problem allows us, however, to elaborate on these techniques in novel ways. Our experiments show that the proposed approach can in many cases significantly outperform the classical decision procedure (implemented in the Mona tool) as well as recently proposed alternatives.

Keywords

Prefix Suffix Padding 

Notes

Acknowledgement

We thank the anonymous reviewers for their helpful comments on how to improve the presentation in this paper. This work was supported by the Czech Science Foundation (projects 16-17538S and 16-24707Y), the BUT FIT project FIT-S-17-4014, and the IT4IXS: IT4Innovations Excellence in Science project (LQ1602).

References

  1. 1.
    Madhusudan, P., Parlato, G., Qiu, X.: Decidable logics combining heap structures and data. In: POpPL 2011, pp. 611–622. ACM (2011)Google Scholar
  2. 2.
    Madhusudan, P., Qiu, X.: Efficient decision procedures for heaps using STRAND. In: Yahav, E. (ed.) SAS 2011. LNCS, vol. 6887, pp. 43–59. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-23702-7_8 CrossRefGoogle Scholar
  3. 3.
    Iosif, R., Rogalewicz, A., Šimáček, J.: The tree width of separation logic with recursive definitions. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 21–38. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38574-2_2 CrossRefGoogle Scholar
  4. 4.
    Chin, W., David, C., Nguyen, H.H., Qin, S.: Automated verification of shape, size and bag properties via user-defined predicates in separation logic. Sci. Comput. Program. 77(9), 1006–1036 (2012)CrossRefMATHGoogle Scholar
  5. 5.
    Zee, K., Kuncak, V., Rinard, M.C.: Full functional verification of linked data structures. In: POpPL 2008, pp. 349–361. ACM (2008)Google Scholar
  6. 6.
    Hamza, J., Jobstmann, B., Kuncak, V.: Synthesis for regular specifications over unbounded domains. In: FMCAD 2010, pp. 101–109. IEEE (2010)Google Scholar
  7. 7.
    Elgaard, J., Klarlund, N., Møller, A.: MONA 1.x: new techniques for WS1S and WS2S. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 516–520. Springer, Heidelberg (1998). doi: 10.1007/BFb0028773 CrossRefGoogle Scholar
  8. 8.
    Meyer, A.R.: Weak monadic second order theory of successor is not elementary-recursive. In: Parikh, R. (ed.) Logic Colloquium. LNM, vol. 453, pp. 132–154. Springer, Heidelberg (1972). doi: 10.1007/BFb0064872 Google Scholar
  9. 9.
    Wies, T., Muñiz, M., Kuncak, V.: An efficient decision procedure for imperative tree data structures. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS (LNAI), vol. 6803, pp. 476–491. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22438-6_36 CrossRefGoogle Scholar
  10. 10.
    De Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). doi: 10.1007/11817963_5 CrossRefGoogle Scholar
  11. 11.
    Klarlund, N., Møller, A., Schwartzbach, M.I.: MONA implementation secrets. Int. J. Found. Comput. Sci. 13(4), 571–586 (2002)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Klarlund, N.: A theory of restrictions for logics and automata. In: Halbwachs, N., Peled, D. (eds.) CAV 1999. LNCS, vol. 1633, pp. 406–417. Springer, Heidelberg (1999). doi: 10.1007/3-540-48683-6_35 CrossRefGoogle Scholar
  13. 13.
    Topnik, C., Wilhelm, E., Margaria, T., Steffen, B.: jMosel: a stand-alone tool and jABC plugin for M2L(Str). In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 293–298. Springer, Heidelberg (2006). doi: 10.1007/11691617_18 CrossRefGoogle Scholar
  14. 14.
    Margaria, T., Steffen, B., Topnik, C.: Second-order value numbering. In: Proceedings of GraMoT 2010, ECEASST, vol. 30, pp. 1–15. EASST (2010)Google Scholar
  15. 15.
    D’Antoni, L., Veanes, M.: Minimization of symbolic automata. In: Proceedings of POPL 2014, pp. 541–554 (2014)Google Scholar
  16. 16.
    Doyen, L., Raskin, J.-F.: Antichain algorithms for finite automata. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 2–22. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-12002-2_2 CrossRefGoogle Scholar
  17. 17.
    Abdulla, P.A., Chen, Y.-F., Holík, L., Mayr, R., Vojnar, T.: When simulation meets antichains (on checking language inclusion of NFAs). In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 158–174. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-12002-2_14 CrossRefGoogle Scholar
  18. 18.
    Fiedor, T., Holík, L., Lengál, O., Vojnar, T.: Nested Antichains for WS1S. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 658–674. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-46681-0_59 Google Scholar
  19. 19.
    Ganzow, T., Kaiser, Ł.: New algorithm for weak monadic second-order logic on inductive structures. In: Dawar, A., Veith, H. (eds.) CSL 2010. LNCS, vol. 6247, pp. 366–380. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-15205-4_29 CrossRefGoogle Scholar
  20. 20.
    Traytel, D.: A coalgebraic decision procedure for WS1S. In: 24th EACSL Annual Conference on Computer Science Logic (CSL 2015), Leibniz International Proceedings in Informatics (LIPIcs), vol. 41, pp. 487–503. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2015)Google Scholar
  21. 21.
    Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree Automata Techniques and Applications (2008). http://tata.gforge.inria.fr/
  22. 22.
    Fiedor, T., Holík, L., Janků, P., Lengál, O., Vojnar, T.: Gaston (2016). http://www.fit.vutbr.cz/research/groups/verifit/tools/gaston/
  23. 23.
    Madhusudan, P., Parlato, G., Qiu, X.: Strand benchmark. http://web.engr.illinois.edu/ qiu2/strand/. Accessed 29 Jan 2014
  24. 24.
    Zhou, M., He, F., Wang, B., Gu, M., Sun, J.: Array theory of bounded elements and its applications. J. Autom. Reason. 52(4), 379–405 (2014)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Tomáš Fiedor
    • 1
  • Lukáš Holík
    • 1
  • Petr Janků
    • 1
  • Ondřej Lengál
    • 1
    • 2
  • Tomáš Vojnar
    • 1
  1. 1.FITBrno University of Technology, IT4Innovations Centre of ExcellenceBrnoCzech Republic
  2. 2.Institute of Information ScienceAcademia SinicaTaipeiTaiwan

Personalised recommendations