An Experiment on Parallel Model Checking of a CTL Fragment

  • Rodrigo T. Saad
  • Silvano Dal Zilio
  • Bernard Berthomieu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7561)


We propose a parallel algorithm for local, on the fly, model checking of a fragment of CTL that is well-suited for modern, multi-core architectures. This model-checking algorithm benefits from a parallel state space construction algorithm, which we described in a previous work, and shares the same basic set of principles: there are no assumptions on the models that can be analyzed; no restrictions on the way states are distributed; and no restrictions on the way work is shared among processors. We evaluate the performance of different versions of our algorithm and compare our results with those obtained using other parallel model checking tools. One of the most novel contributions of this work is to study a space-efficient variant for CTL model-checking that does not require to store the whole transition graph but that operates, instead, on a reverse spanning tree.


Model Check State Graph Computation Tree Logic Parental Graph Cycle Detection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barnat, J., Brim, L., Češka, M., Ročkai, P.: DiVinE: Parallel Distributed Model Checker. In: Parallel and Distributed Methods in Verification and High Performance Computational Systems Biology (HiBi/PDMC 2010), pp. 4–7. IEEE (2010)Google Scholar
  2. 2.
    Clarke, E.M., Emerson, A.: Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  3. 3.
    Greenlaw, R., James Hoover, H., Ruzzo, W.L.: Limits to Parallel Computation: P-Completeness Theory. Oxford University Press, USA (1995)Google Scholar
  4. 4.
    Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification. In: Proc. of the 23rd IEEE/ACM Int. Conference on Automated Software Engineering, pp. 1–6 (2008)Google Scholar
  5. 5.
    Inggs, C.P., Barringer, H.: CTL* model checking on a shared-memory architecture. Formal Methods in System Design 29(2), 135–155 (2006)CrossRefzbMATHGoogle Scholar
  6. 6.
    Laarman, A., Langerak, R., van de Pol, J., Weber, M., Wijs, A.: Multi-core Nested Depth-First Search. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 321–335. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    van de Pol, J., Weber, M.: A Multi-Core solver for parity games. In: Proc. of the 7th International Workshop on Parallel and Distributed Methods in verifiCation (PDMC 2008). ENTCS, vol. 220(2), pp. 19–34 (2008)Google Scholar
  8. 8.
    Reif, J.H.: Depth-first search is inherently sequential. Information Processing Letters 20(5), 229–234 (1985)CrossRefMathSciNetzbMATHGoogle Scholar
  9. 9.
    Saad, R.T.: Parallel Model Checking for Multiprocessor Architecture. PhD thesis, Institut National des Sciences Appliquées, Toulouse, France (December 2011)Google Scholar
  10. 10.
    Saad, R.T., Zilio, S.D., Berthomieu, B.: Parallel Model Checking with Lazy Cycle Detection—MCLCD. Technical Report 12139, LAAS-CNRS (2012),
  11. 11.
    Saad, R.T., Zilio, S.D., Berthomieu, B.: Mixed Shared-Distributed hash tables approaches for parallel state space construction. In: Int. Symposium on Parallel and Distributed Computing (ISPDC 2011) (July 2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Rodrigo T. Saad
    • 1
    • 2
  • Silvano Dal Zilio
    • 1
    • 2
  • Bernard Berthomieu
    • 1
    • 2
  1. 1.CNRS, LAASToulouseFrance
  2. 2.LAASUniv de ToulouseToulouseFrance

Personalised recommendations