Minimization of Visibly Pushdown Automata Using Partial Max-SAT

  • Matthias Heizmann
  • Christian Schilling
  • Daniel Tischner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10205)


We consider the problem of state-space reduction for nondeterministic weakly-hierarchical visibly pushdown automata (Vpa). Vpa recognize a robust and algorithmically tractable fragment of context-free languages that is natural for modeling programs.

We define an equivalence relation that is sufficient for language-preserving quotienting of Vpa. Our definition allows to merge states that have different behavior, as long as they show the same behavior for reachable equivalent stacks. We encode the existence of such a relation as a Boolean partial maximum satisfiability (PMax-Sat) problem and present an algorithm that quickly finds satisfying assignments. These assignments are sub-optimal solutions to the PMax-Sat problem but can still lead to a significant reduction of states.

We integrated our method in the automata-based software verifier Ultimate Automizer and show performance improvements on benchmarks from the software verification competition SV-COMP.


  1. 1.
    Abdulla, P.A., Chen, Y., Holík, L., Vojnar, T.: Mediating for reduction (on minimizing alternating Büchi automata). In: FSTTCS, LIPIcs, vol. 4, pp. 1–12. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2009)Google Scholar
  2. 2.
    Abel, A., Reineke, J.: MeMin: SAT-based exact minimization of incompletely specified mealy machines. In: ICCAD, pp. 94–101. IEEE (2015)Google Scholar
  3. 3.
    Almeida, R., Holík, L., Mayr, R.: Reduction of nondeterministic tree automata. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 717–735. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_46 CrossRefGoogle Scholar
  4. 4.
    Alur, R., Bouajjani, A., Esparza, J.: Model checking procedural programs. In: Handbook of Model Checking. Springer, Heidelberg (2017, to appear)Google Scholar
  5. 5.
    Alur, R., Kumar, V., Madhusudan, P., Viswanathan, M.: Congruences for visibly pushdown languages. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 1102–1114. Springer, Heidelberg (2005). doi: 10.1007/11523468_89 CrossRefGoogle Scholar
  6. 6.
    Alur, R., Madhusudan, P.: Visibly pushdown languages. In: STOC, pp. 202–211. ACM (2004)Google Scholar
  7. 7.
    Alur, R., Madhusudan, P.: Adding nesting structure to words. J. ACM 56(3) (2009). Article No. 16Google Scholar
  8. 8.
    Baarir, S., Duret-Lutz, A.: Mechanizing the minimization of deterministic generalized Büchi automata. In: Ábrahám, E., Palamidessi, C. (eds.) FORTE 2014. LNCS, vol. 8461, pp. 266–283. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-43613-4_17 CrossRefGoogle Scholar
  9. 9.
    Baarir, S., Duret-Lutz, A.: SAT-based minimization of deterministic \(\omega \)-automata. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 79–87. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-48899-7_6 CrossRefGoogle Scholar
  10. 10.
    Beyer, D.: Reliable and reproducible competition results with BenchExec and witnesses (report on SV-COMP 2016). In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 887–904. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_55 CrossRefGoogle Scholar
  11. 11.
    Caralp, M., Reynier, P.-A., Talbot, J.-M.: Trimming visibly pushdown automata. In: Konstantinidis, S. (ed.) CIAA 2013. LNCS, vol. 7982, pp. 84–96. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39274-0_9 CrossRefGoogle Scholar
  12. 12.
    Cha, B., Iwama, K., Kambayashi, Y., Miyazaki, S.: Local search algorithms for partial MAXSAT. In: AAAI/IAAI, pp. 263–268. AAAI Press/The MIT Press (1997)Google Scholar
  13. 13.
    Chervet, P., Walukiewicz, I.: Minimizing variants of visibly pushdown automata. In: Kučera, L., Kučera, A. (eds.) MFCS 2007. LNCS, vol. 4708, pp. 135–146. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74456-6_14 CrossRefGoogle Scholar
  14. 14.
    Clemente, L.: Büchi automata can have smaller quotients. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011. LNCS, vol. 6756, pp. 258–270. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22012-8_20 CrossRefGoogle Scholar
  15. 15.
    D’Antoni, L., Veanes, M.: Minimization of symbolic automata. In: POPL, pp. 541–554. ACM (2014)Google Scholar
  16. 16.
    Dill, D.L., Hu, A.J., Wong-Toi, H.: Checking for language inclusion using simulation preorders. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 255–265. Springer, Heidelberg (1992). doi: 10.1007/3-540-55179-4_25 CrossRefGoogle Scholar
  17. 17.
    Ehlers, R.: Minimising deterministic Büchi automata precisely using SAT solving. In: Strichman, O., Szeider, S. (eds.) SAT 2010. LNCS, vol. 6175, pp. 326–332. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14186-7_28 CrossRefGoogle Scholar
  18. 18.
    Etessami, K., Wilke, T., Schuller, R.A.: Fair simulation relations, parity games, and state space reduction for Büchi automata. SIAM J. Comput. 34(5), 1159–1175 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Fu, Z., Malik, S.: On solving the partial MAX-SAT problem. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 252–265. Springer, Heidelberg (2006). doi: 10.1007/11814948_25 CrossRefGoogle Scholar
  20. 20.
    Geldenhuys, J., Merwe, B., Zijl, L.: Reducing nondeterministic finite automata with SAT solvers. In: Yli-Jyrä, A., Kornai, A., Sakarovitch, J., Watson, B. (eds.) FSMNLP 2009. LNCS (LNAI), vol. 6062, pp. 81–92. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14684-8_9 CrossRefGoogle Scholar
  21. 21.
    Habermehl, P., Holík, L., Rogalewicz, A., Simácek, J., Vojnar, T.: Forest automata for verification of heap manipulation. Formal Methods Syst. Des. 41(1), 83–106 (2012)CrossRefzbMATHGoogle Scholar
  22. 22.
    Harris, W.R., Jha, S., Reps, T.: Secure programming via visibly pushdown safety games. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 581–598. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31424-7_41 CrossRefGoogle Scholar
  23. 23.
    Heizmann, M., Dietsch, D., Greitschus, M., Leike, J., Musa, B., Schätzle, C., Podelski, A.: Ultimate automizer with two-track proofs. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 950–953. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_68 CrossRefGoogle Scholar
  24. 24.
    Heizmann, M., Hoenicke, J., Podelski, A.: Nested interpolants. In: POPL, pp. 471–482. ACM (2010)Google Scholar
  25. 25.
    Heizmann, M., Hoenicke, J., Podelski, A.: Software model checking for people who love automata. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 36–52. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39799-8_2 CrossRefGoogle Scholar
  26. 26.
    Heizmann, M., Schilling, C., Tischner, D.: Minimization of visibly pushdown automata using partial Max-SAT, vol. abs/1701.05160 (2017)Google Scholar
  27. 27.
    Holzmann, G.J., Puri, A.: A minimized automaton representation of reachable states. STTT 2(3), 270–278 (1999)CrossRefzbMATHGoogle Scholar
  28. 28.
    Hopcroft, J.E.: An n log n algorithm for minimizing states in a finite automaton. In: Theory of Machines and Computations, pp. 189–196. Academic Press (1971)Google Scholar
  29. 29.
    Klarlund, N., Møller, A., Schwartzbach, M.I.: MONA implementation secrets. Int. J. Found. Comput. Sci. 13(4), 571–586 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Kumar, V., Madhusudan, P., Viswanathan, M.: Minimization, learning, and conformance testing of boolean programs. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 203–217. Springer, Heidelberg (2006). doi: 10.1007/11817949_14 CrossRefGoogle Scholar
  31. 31.
    Kumar, V., Madhusudan, P., Viswanathan, M.: Visibly pushdown automata for streaming XML. In: WWW, pp. 1053–1062. ACM (2007)Google Scholar
  32. 32.
    Mayr, R., Clemente, L.: Advanced automata minimization. In: POPL, pp. 63–74. ACM (2013)Google Scholar
  33. 33.
    Mozafari, B., Zeng, K., Zaniolo, C.: High-performance complex event processing over XML streams. In: SIGMOD Conference, pp. 253–264. ACM (2012)Google Scholar
  34. 34.
    Pitcher, C.: Visibly pushdown expression effects for XML stream processing. Programming Language Technologies for XML 1060, 1–14 (2005)Google Scholar
  35. 35.
    Srba, J.: Beyond language equivalence on visibly pushdown automata. Logical Methods Comput. Sci. 5(1) (2009)Google Scholar
  36. 36.
    Tabakov, D., Vardi, M.Y.: Experimental evaluation of classical automata constructions. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 396–411. Springer, Heidelberg (2005). doi: 10.1007/11591191_28 CrossRefGoogle Scholar
  37. 37.
    Thakur, A., Lim, J., Lal, A., Burton, A., Driscoll, E., Elder, M., Andersen, T., Reps, T.: Directed proof generation for machine code. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 288–305. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14295-6_27 CrossRefGoogle Scholar
  38. 38.
    Thomo, A., Venkatesh, S., Ye, Y.Y.: Visibly pushdown transducers for approximate validation of streaming XML. In: Hartmann, S., Kern-Isberner, G. (eds.) FoIKS 2008. LNCS, vol. 4932, pp. 219–238. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-77684-0_16 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Matthias Heizmann
    • 1
  • Christian Schilling
    • 1
  • Daniel Tischner
    • 1
  1. 1.University of FreiburgFreiburgGermany

Personalised recommendations