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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andersen, H.R.: Model Checking and Boolean Graphs. Theoret. Comp. Sc. 126(1), 3–30 (1994)
Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley (2000)
Barnat, J., Bauch, P., Brim, L., Češka, M.: Computing Strongly Connected Components in Parallel on CUDA. In: IPDPS, pp. 544–555. IEEE (2011)
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)
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)
Barnat, J., Brim, L., Češka, M., Lamr, T.: CUDA Accelerated LTL Model Checking. In: ICPADS, pp. 34–41. IEEE (2009)
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)
Bryant, R.E.: Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)
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)
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)
Ezekiel, J., Lüttgen, G., Siminiceanu, R.: To Parallelize or to Optimize? J. of Log. and Comput. 21, 85–120 (2011)
Garland, M., Kirk, D.B.: Understanding Throughput-Oriented Architectures. Commun. ACM 53, 58–66 (2010)
Grumberg, O., Heyman, T., Schuster, A.: Distributed Symbolic Model Checking for μ-Calculus. Form. Methods Syst. Des. 26, 197–219 (2005)
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)
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)
Holzmann, G.J., Bosnacki, D.: Multi-Core Model Checking with SPIN. In: IPDPS, pp. 1–8. IEEE (2007)
Joubert, C., Mateescu, R.: Distributed Local Resolution of Boolean Equation Systems. In: PDP, pp. 264–271. IEEE (2005)
Kozen, D.: Results on the Propositional mu-Calculus. Theoret. Comp. Sc. 27, 333–354 (1983)
Laarman, A., van de Pol, J., Weber, M.: Boosting Multi-Core Reachability Performance with Shared Hash Tables. In: FMCAD, pp. 247–255. IEEE (2010)
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)
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)
Mader, A.H.: Verification of Modal Properties Using Boolean Equation Systems. PhD thesis, Technische Universität München, Germany (1997)
Mateescu, R.: CAESAR_SOLVE: A Generic Library for On-the-Fly Resolution of Alternation-free Boolean Equation Systems. STTT 8(1), 37–56 (2006)
Merrill, D., Garland, M., Grimshaw, A.: Scalable GPU Graph Traversal. In: PPoPP, pp. 117–128. ACM (2012)
Nichols, B., Buttlar, D., Farrell, J.P.: PThreads Programming. O’Reilly (1996)
van de Pol, J., Weber, M.: A Multi-Core Solver for Parity Games. In: PDMC. ENTCS, vol. 220, pp. 19–34. Elsevier (2008)
Sailer, A.: Utilizing And-Inverter Graphs in the Gaussian Elimination for Boolean Equation Systems. Master’s thesis, Hochschule Regensburg, Germany (2011)
Tarski, A.: A Lattice-Theoretical Fixpoint Theorem and its Applications. Pacific J. of Math. 5(2), 285–309 (1955)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)