Skip to main content

On Parallel Software Verification Using Boolean Equation Systems

  • Conference paper
Model Checking Software (SPIN 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7385))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 72.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andersen, H.R.: Model Checking and Boolean Graphs. Theoret. Comp. Sc. 126(1), 3–30 (1994)

    Article  MATH  Google Scholar 

  2. Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley (2000)

    Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  8. Bryant, R.E.: Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)

    Article  Google Scholar 

  9. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)

    Google Scholar 

  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. 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. Ezekiel, J., Lüttgen, G., Siminiceanu, R.: To Parallelize or to Optimize? J. of Log. and Comput. 21, 85–120 (2011)

    Article  MATH  Google Scholar 

  13. Garland, M., Kirk, D.B.: Understanding Throughput-Oriented Architectures. Commun. ACM 53, 58–66 (2010)

    Article  Google Scholar 

  14. Grumberg, O., Heyman, T., Schuster, A.: Distributed Symbolic Model Checking for μ-Calculus. Form. Methods Syst. Des. 26, 197–219 (2005)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Holzmann, G.J., Bosnacki, D.: Multi-Core Model Checking with SPIN. In: IPDPS, pp. 1–8. IEEE (2007)

    Google Scholar 

  18. Joubert, C., Mateescu, R.: Distributed Local Resolution of Boolean Equation Systems. In: PDP, pp. 264–271. IEEE (2005)

    Google Scholar 

  19. Kozen, D.: Results on the Propositional mu-Calculus. Theoret. Comp. Sc. 27, 333–354 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. Mader, A.H.: Verification of Modal Properties Using Boolean Equation Systems. PhD thesis, Technische Universität München, Germany (1997)

    Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  25. Merrill, D., Garland, M., Grimshaw, A.: Scalable GPU Graph Traversal. In: PPoPP, pp. 117–128. ACM (2012)

    Google Scholar 

  26. Nichols, B., Buttlar, D., Farrell, J.P.: PThreads Programming. O’Reilly (1996)

    Google Scholar 

  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. Sailer, A.: Utilizing And-Inverter Graphs in the Gaussian Elimination for Boolean Equation Systems. Master’s thesis, Hochschule Regensburg, Germany (2011)

    Google Scholar 

  29. Tarski, A.: A Lattice-Theoretical Fixpoint Theorem and its Applications. Pacific J. of Math. 5(2), 285–309 (1955)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ditter, A., Češka, M., Lüttgen, G. (2012). On Parallel Software Verification Using Boolean Equation Systems. In: Donaldson, A., Parker, D. (eds) Model Checking Software. SPIN 2012. Lecture Notes in Computer Science, vol 7385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31759-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31759-0_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31758-3

  • Online ISBN: 978-3-642-31759-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics