Scalable Multi-core Model Checking Fairness Enhanced Systems

  • Yang Liu
  • Jun Sun
  • Jin Song Dong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5885)


Rapid development in hardware industry has brought the prevalence of multi-core systems with shared-memory, which enabled the speedup of various tasks by using parallel algorithms. The Linear Temporal Logic (LTL) model checking problem is one of the difficult problems to be parallelized or scaled up to multi-core. In this work, we propose an on-the-fly parallel model checking algorithm based on the Tarjan’s strongly connected components (SCC) detection algorithm. The approach can be applied to general LTL model checking or with different fairness assumptions. Further, it is orthogonal to state space reduction techniques like partial order reduction. We enhance our PAT model checker with the technique and show its usability via the automated verification of several real-life systems. Experimental results show that our approach is scalable, especially when a system search space contains many SCCs.


Model Check Parallel Algorithm Linear Temporal Logic Label Transition System Strongly Connect Component 
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.
    Angluin, D., Aspnes, J., Fischer, M.J., Jiang, H.: Self-stabilizing Population Protocols. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 103–117. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    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
  3. 3.
    Barnat, J., Chaloupka, J., Van De Pol, J.: Distributed Algorithms for SCC Decomposition. Journal of Logic and Computation (to appear, 2009)Google Scholar
  4. 4.
    Barnat, J., Chaloupka, J., van de Pol, J.: Improved Distributed Algorithms for SCC Decomposition. ENTCS 198(1), 63–77 (2008)Google Scholar
  5. 5.
    Barnat, J., Moravec, P.: Parallel Algorithms for Finding SCCs in Implicitly Given Graphs. In: Brim, L., Haverkort, B.R., Leucker, M., van de Pol, J. (eds.) FMICS 2006 and PDMC 2006. LNCS, vol. 4346, pp. 316–330. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Brim, L., Cerna, I., Moravec, P., Simsa, J.: Accepting Predecessors are Better than Back Edges in Distributed LTL Model-Checking. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 352–366. Springer, Heidelberg (2004)Google Scholar
  7. 7.
    Brim, L., Cerná, I., Krcál, P., Pelánek, R.: Distributed LTL Model Checking Based on Negative Cycle Detection. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, p. 96. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Brim, L., Cerna, I., Moravec, P., Simsa, J.: How to Order Vertices for Distributed LTL Model-Checking Based on Accepting Predecessors. In: Proceedings of 4th International Workshop on Parallel and Distributed Methods in verification, pp. 1–12 (2005)Google Scholar
  9. 9.
    Cerna, I., Mu, F., Cerna, I., Cerna, I., Pelnek, R., Pelanek, R.: Distributed explicit fair cycle detection: Set based approach (2002)Google Scholar
  10. 10.
    Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-Efficient Algorithms for the Verification of Temporal Properties. Formal Methods in System Design 1(2/3), 275–288 (1992)CrossRefGoogle Scholar
  11. 11.
    Fischer, M.J., Jiang, H.: Self-stabilizing Leader Election in Networks of Finite-state Anonymous Agents. In: Shvartsman, M.M.A.A. (ed.) OPODIS 2006. LNCS, vol. 4305, pp. 395–409. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Fisler, K., Fraer, R., Kamhi, G., Vardi, M.Y., Yang, Z.: Is There a Best Symbolic Cycle-Detection Algorithm? In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 420–434. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Geldenhuys, J., Valmari, A.: More Efficient On-the-fly LTL Verification with Tarjan’s Algorithm. Theoritical Computer Science 345(1), 60–82 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Giannakopoulou, D., Magee, J., Kramer, J.: Checking Progress with Action Priority: Is it Fair. In: Proceedings of the 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 1999), pp. 511–527 (1999)Google Scholar
  15. 15.
    Henzinger, M.R., Telle, J.A.: Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning. In: Karlsson, R., Lingas, A. (eds.) SWAT 1996. LNCS, vol. 1097, pp. 16–27. Springer, Heidelberg (1996)Google Scholar
  16. 16.
    Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison Wesley, Reading (2003)Google Scholar
  17. 17.
    Holzmann, G.J., Bosnacki, D.: The Design of a Multicore Extension of the SPIN Model Checker. IEEE Trans. Softw. Eng. 33(10), 659–674 (2007)CrossRefGoogle Scholar
  18. 18.
    Holzmann, G.J., Peled, D., Yannakakis, M.: On Nested Depth-first Search. In: The Spin Verification System, pp. 23–32 (1996)Google Scholar
  19. 19.
    Inggs, C.P., Barringer, H.: CTL* Model Checking on a Shared-memory Architecture. Form. Methods Syst. Des. 29(2), 135–155 (2006)zbMATHCrossRefGoogle Scholar
  20. 20.
    Kesten, Y., Pnueli, A., Raviv, L., Shahar, E.: Model Checking with Strong Fairness. Formal Methods and System Design 28(1), 57–84 (2006)zbMATHCrossRefGoogle Scholar
  21. 21.
    Kurshan, R.P.: Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton university press, Princeton (1995)zbMATHGoogle Scholar
  22. 22.
    Lafuente, A.L.: Simplified Distributed LTL Model Checking by Localizing Cycles. Technical report, Institute of Computer Science, Albert-Ludwings Universität Freiburg (2002)Google Scholar
  23. 23.
    Lamport, L.: Fairness and Hyperfairness. Distributed Computing 13(4), 239–245 (2000)CrossRefGoogle Scholar
  24. 24.
    Lamport, L.: Proving the Correctness of Multiprocess Programs. IEEE Transactions on Software Engineering 3(2), 125–143 (1977)CrossRefMathSciNetGoogle Scholar
  25. 25.
    Lehmann, D.J., Pnueli, A., Stavi, J.: Impartiality, Justice and Fairness: The Ethics of Concurrent Termination. In: Even, S., Kariv, O. (eds.) ICALP 1981. LNCS, vol. 115, pp. 264–277. Springer, Heidelberg (1981)Google Scholar
  26. 26.
    Musuvathi, M., Qadeer, S.: Fair Stateless Model Checking. In: ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI 2008), pp. 362–371. ACM, New York (2008)CrossRefGoogle Scholar
  27. 27.
    Pnueli, A., Sa’ar, Y.: All You Need Is Compassion. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 233–247. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  28. 28.
    Reif, J.H.: Depth-First Search is Inherently Sequential. Information Processing Letters 20(5), 229–234 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    Sun, J., Liu, Y., Dong, J.S., Chen, C.Q.: Integrating Specification and Programs for System Modeling and Verification. In: Proceedings of the 3rd IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009), pp. 127–135 (2009)Google Scholar
  30. 30.
    Sun, J., Liu, Y., Dong, J.S., Pang, J.: Towards a Toolkit for Flexible and Efficient Verification under Fairness. Technical Report TRB2/09, National Univ. of Singapore (December 2008),
  31. 31.
    Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: Towards Flexible Verification under Fairness. In: Proceedings of the 21th International Conference on Computer Aided Verification (CAV 2009), Grenoble, France, pp. 702–708 (2009)Google Scholar
  32. 32.
    Sun, J., Liu, Y., Dong, J.S., Wang, H.H.: Specifying and Verifying Event-based Fairness Enhanced Systems. In: Liu, S., Maibaum, T., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 318–337. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  33. 33.
    Tarjan, R.: Depth-first Search and Linear Graph Algorithms. SIAM Journal on Computing 2, 146–160 (1972)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Yang Liu
    • 1
  • Jun Sun
    • 1
  • Jin Song Dong
    • 1
  1. 1.School of ComputingNational University of Singapore 

Personalised recommendations