On Parallel Software Verification Using Boolean Equation Systems

  • Alexander Ditter
  • Milan Češka
  • Gerald Lüttgen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7385)


Multi- and many-core hardware platforms are today widely accessible and used to significantly accelerate many computationally demanding tasks. In this paper we describe a parallel approach to solve Boolean Equation Systems (BESs) in the context of model checking. We focus on the applicability of state-of-the-art, shared-memory parallel hardware – multi-core CPUs and many-core GPUs – to speed up the resolution procedure for BESs. In this setting, we experimentally show the scalability and competitiveness of our approach, compared to an optimized sequential implementation, based on a large benchmark suite containing models of software systems and protocols from industry and academia.


formal verification parallel model checking boolean equation systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersen, H.R.: Model Checking and Boolean Graphs. Theoret. Comp. Sc. 126(1), 3–30 (1994)zbMATHCrossRefGoogle Scholar
  2. 2.
    Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley (2000)Google Scholar
  3. 3.
    Barnat, J., Bauch, P., Brim, L., Češka, M.: Computing Strongly Connected Components in Parallel on CUDA. In: IPDPS, pp. 544–555. IEEE (2011)Google Scholar
  4. 4.
    Barnat, J., Bauch, P., Brim, L., Češka, M.: Designing Fast LTL Model Checking Algorithms for Many-Core GPUs. To app. in J. of Par. and Distrib. Comp. (2012)Google Scholar
  5. 5.
    Barnat, J., Brim, L., Ročkai, P.: Scalable Multi-core LTL Model-Checking. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 187–203. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Barnat, J., Brim, L., Češka, M., Lamr, T.: CUDA Accelerated LTL Model Checking. In: ICPADS, pp. 34–41. IEEE (2009)Google Scholar
  7. 7.
    Bollig, B., Leucker, M., Weber, M.: Local Parallel Model Checking for the Alternation-Free μ-Calculus. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 128–147. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Bryant, R.E.: Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)Google Scholar
  10. 10.
    Gallardo, M.d.M., Joubert, C., Merino, P.: On-the-Fly Data Flow Analysis Based on Verification Technology. In: COCV. ENTCS, vol. 190, pp. 33–48 (2007)Google Scholar
  11. 11.
    Emerson, E.A.: Temporal and Modal Logic. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, ch. 16, pp. 995–1072. Elsevier (1990)Google Scholar
  12. 12.
    Ezekiel, J., Lüttgen, G., Siminiceanu, R.: To Parallelize or to Optimize? J. of Log. and Comput. 21, 85–120 (2011)zbMATHCrossRefGoogle Scholar
  13. 13.
    Garland, M., Kirk, D.B.: Understanding Throughput-Oriented Architectures. Commun. ACM 53, 58–66 (2010)CrossRefGoogle Scholar
  14. 14.
    Grumberg, O., Heyman, T., Schuster, A.: Distributed Symbolic Model Checking for μ-Calculus. Form. Methods Syst. Des. 26, 197–219 (2005)zbMATHCrossRefGoogle Scholar
  15. 15.
    Harish, P., Narayanan, P.J.: Accelerating Large Graph Algorithms on the GPU Using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Holmén, F., Leucker, M., Lindström, M.: UppDMC: A Distributed Model Checker for Fragments of the mu-Calculus. In: PDMC. ENTCS, vol. 128, pp. 91–105. Elsevier (2005)Google Scholar
  17. 17.
    Holzmann, G.J., Bosnacki, D.: Multi-Core Model Checking with SPIN. In: IPDPS, pp. 1–8. IEEE (2007)Google Scholar
  18. 18.
    Joubert, C., Mateescu, R.: Distributed Local Resolution of Boolean Equation Systems. In: PDP, pp. 264–271. IEEE (2005)Google Scholar
  19. 19.
    Kozen, D.: Results on the Propositional mu-Calculus. Theoret. Comp. Sc. 27, 333–354 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Laarman, A., van de Pol, J., Weber, M.: Boosting Multi-Core Reachability Performance with Shared Hash Tables. In: FMCAD, pp. 247–255. IEEE (2010)Google Scholar
  21. 21.
    Lefohn, A., Kniss, J.M., Owens, J.D.: Implementing Efficient Parallel Data Structures on GPUs. In: GPU Gems 2, pp. 521–545. Addison-Wesley (2005)Google Scholar
  22. 22.
    Leucker, M., Somla, R., Weber, M.: Parallel Model Checking for LTL, CTL*, and \(L^{2}_\mu\). In: PDMC. ENTCS, vol. 89, pp. 4–16 (2003)Google Scholar
  23. 23.
    Mader, A.H.: Verification of Modal Properties Using Boolean Equation Systems. PhD thesis, Technische Universität München, Germany (1997)Google Scholar
  24. 24.
    Mateescu, R.: CAESAR_SOLVE: A Generic Library for On-the-Fly Resolution of Alternation-free Boolean Equation Systems. STTT 8(1), 37–56 (2006)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Merrill, D., Garland, M., Grimshaw, A.: Scalable GPU Graph Traversal. In: PPoPP, pp. 117–128. ACM (2012)Google Scholar
  26. 26.
    Nichols, B., Buttlar, D., Farrell, J.P.: PThreads Programming. O’Reilly (1996)Google Scholar
  27. 27.
    van de Pol, J., Weber, M.: A Multi-Core Solver for Parity Games. In: PDMC. ENTCS, vol. 220, pp. 19–34. Elsevier (2008)Google Scholar
  28. 28.
    Sailer, A.: Utilizing And-Inverter Graphs in the Gaussian Elimination for Boolean Equation Systems. Master’s thesis, Hochschule Regensburg, Germany (2011)Google Scholar
  29. 29.
    Tarski, A.: A Lattice-Theoretical Fixpoint Theorem and its Applications. Pacific J. of Math. 5(2), 285–309 (1955)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Alexander Ditter
    • 1
  • Milan Češka
    • 2
  • Gerald Lüttgen
    • 1
  1. 1.University of BambergBambergGermany
  2. 2.Masaryk UniversityBrnoCzech Republic

Personalised recommendations