Bandwidth and Wavefront Reduction for Static Variable Ordering in Symbolic Reachability Analysis

  • Jeroen MeijerEmail author
  • Jaco van de Pol
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9690)


We investigate the use of bandwidth and wavefront reduction algorithms to determine a static BDD variable ordering. The aim is to reduce the size of BDDs arising in symbolic reachability. Previous work showed that minimizing the (weighted) event span of the variable dependency graph yields small BDDs. The bandwidth and wavefront of symmetric matrices are well studied metrics, used in sparse matrix solvers, and many bandwidth and wavefront reduction algorithms are readily available in libraries like Boost and ViennaCL.

In this paper, we transform the dependency matrix to a symmetric matrix and apply various bandwidth and wavefront reduction algorithms, measuring their influence on the (weighted) event span. We show that Sloan’s algorithm, executed on the total graph of the dependency matrix, yields a variable order with minimal event span. We demonstrate this on a large benchmark of Petri nets, Dve, Promela, B, and mcrl2 models. As a result, good static variable orders can now be determined in milliseconds by using standard sparse matrix solvers.


Bandwidth Profile Wavefront Event span Symbolic reachability Sparse matrix Event locality Decision diagram Petri net 


  1. 1.
    Aloul, F.A., Markov, I.L., Sakallah, K.A.: FORCE: a fast and easy-to-implement variable-ordering heuristic. In: 13th ACM, VLSI, pp. 116–119. ACM (2003)Google Scholar
  2. 2.
    Blom, S., van de Pol, J.: Symbolic reachability for process algebras with recursive data types. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 81–95. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)CrossRefzbMATHGoogle Scholar
  4. 4.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)CrossRefzbMATHGoogle Scholar
  5. 5.
    Burch, J.R., Clarke, E.M., Long, D.E.: Symbolic model checking with partitioned transition relations. In: VLSI 1991 (1991)Google Scholar
  6. 6.
    Ciardo, G., Marmorstein, R.M., Siminiceanu, R.: The saturation algorithm for symbolic state-space exploration. STTT 8(1), 4–25 (2006)CrossRefGoogle Scholar
  7. 7.
    Ciardo, G., Miner, A.S., Wan, M.: Advanced features in SMART: the stochastic model checking analyzer for reliability and timing. SIGMETRICS PER 36(4), 58–63 (2009)CrossRefGoogle Scholar
  8. 8.
    Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 359. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Cuthill, E., McKee, J.: Reducing the bandwidth of sparse symmetric matrices. In: Proceedings 24th National Conference, pp. 157–172. ACM (1969)Google Scholar
  11. 11.
    Gibbs, N.E., Poole Jr., W.G., Stockmeyer, P.K.: An algorithm for reducing the bandwidth and profile of a sparse matrix. SIAM J. Num. Anal. 13(2), 236–250 (1976)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Grumberg, O., Livne, S., Markovitch, S.: Learning to order BDD variables in verification. JAIR 18, 83–116 (2003)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Heiner, M., Rohr, C., Schwarick, M.: MARCIE – model checking and reachability analysis done efficiently. In: Colom, J.-M., Desel, J. (eds.) PETRI NETS 2013. LNCS, vol. 7927, pp. 389–399. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  14. 14.
    Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015)Google Scholar
  15. 15.
    Karantasis, K.I., et al.: Parallelization of reordering algorithms for bandwidth and wavefront reduction. In: ICHPC 2014, pp. 921–932. IEEE (2014)Google Scholar
  16. 16.
    Kaveh, A.: Ordering for Optimal Patterns of Structural Matrices. Wiley, New York (2006). pp. 191–271Google Scholar
  17. 17.
    King, I.P.: An automatic reordering scheme for simultaneous equations derived from network systems. Int. J. Numer. Meth. Eng. 2(4), 523–533 (1970)CrossRefGoogle Scholar
  18. 18.
    Kordon, F., et al.: Complete Results for the 2015 Edition of the Model Checking Contest (2015).
  19. 19.
    Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)CrossRefGoogle Scholar
  20. 20.
    Mafteiu-Scai, L.O.: The bandwidths of a matrix. A survey of algorithms. Ann. West Univ. Timisoara-Math. 52(2), 183–223 (2014)MathSciNetGoogle Scholar
  21. 21.
    Meijer, J., Kant, G., Blom, S., van de Pol, J.: Read, write and copy dependencies for symbolic model checking. In: Yahav, E. (ed.) HVC 2014. LNCS, vol. 8855, pp. 204–219. Springer, Heidelberg (2014)Google Scholar
  22. 22.
    Noack, A.: A ZBDD package for efficient model checking of Petri nets. Forschungsbericht, Branderburgische Technische Uinversität Cottbus (1999)Google Scholar
  23. 23.
    Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  24. 24.
    Reid, J.K., Scott, J.A.: Reducing the total bandwidth of a sparse unsymmetric matrix. SIAM J. Matrix Anal. Appl. 28(3), 805–821 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Rice, M., Kulhari, S.: A survey of static variable ordering heuristics for efficient BDD/MDD construction. Technical report, University of California (2008)Google Scholar
  26. 26.
    Rudell, R.: Dynamic variable ordering for ordered binary decision diagrams. In: ICCAD1993. IEEE (1993)Google Scholar
  27. 27.
    Rupp, K., Rudolf, F., Weinbub, J.: ViennaCL - a high level linear algebra library for GPUs and multi-core CPUs. In: GPUScA 2010, pp. 51–56 (2010)Google Scholar
  28. 28.
    Siminiceanu, R.I., Ciardo, G.: New metrics for static variable ordering in decision diagrams. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 90–104. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  29. 29.
    Sloan, S.W.: A FORTRAN program for profile and wavefront reduction. Int. J. Numer. Meth. Eng. 28(11), 2651–2679 (1989)CrossRefzbMATHGoogle Scholar
  30. 30.
    Thierry-Mieg, Y.: Symbolic model-checking using ITS-tools. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 231–237. Springer, Heidelberg (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Formal Methods and ToolsUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations