Skip to main content
Log in

Regular model checking for LTL(MSO)

  • RMC Regular Model Checking
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Regular model checking is a form of symbolic model checking for parameterized and infinite-state systems whose states can be represented as words of arbitrary length over a finite alphabet, in which regular sets of words are used to represent sets of states. We present LTL(MSO), a combination of the logics monadic second-order logic (MSO) and LTL as a natural logic for expressing the temporal properties to be verified in regular model checking. In other words, LTL(MSO) is a natural specification language for both the system and the property under consideration. LTL(MSO) is a two-dimensional modal logic, where MSO is used for specifying properties of system states and transitions, and LTL is used for specifying temporal properties. In addition, the first-order quantification in MSO can be used to express properties parameterized on a position or process. We give a technique for model checking LTL(MSO), which is adapted from the automata-theoretic approach: a formula is translated to a buchi regular transition system with a regular set of accepting states, and regular model checking techniques are used to search for models. We have implemented the technique, and show its application to a number of parameterized algorithms from the literature.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J., Saksena, M.: Regular model checking for LTL(MSO). In: Alur, R., Peled, D.A. (eds.) Proc. CAV’04, 16th Int. Conf. on Computer Aided Verification, LNCS 3114, pp. 348–360, Springer (2004)

  2. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Regular model checking made simple and efficient. In: Brim, L., Jancar, P., Kretínský, M., Kucera, A. (eds.) Proc. CONCUR 2002 13th Int. Conf. on Concurrency Theory, LNCS 2421, pp. 116–130, Springer (2002)

  3. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Algorithmic improvements in regular model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) Proc. CAV’03, 15th Int. Conf. on Computer Aided Verification, LNCS 2725, pp. 236–248, Springer (2003)

  4. Bartlett K., Scantlebury R., Wilkinson P.: A note on reliable full-duplex transmissions over half duplex lines. Commun. ACM 2(5), 260–261 (1969)

    Article  Google Scholar 

  5. Baukus K., Lakhnech Y., Stahl K.: Verification of parameterized networks. J. Univ. Comp. Sci. 7(2), 141–158 (2001)

    MathSciNet  MATH  Google Scholar 

  6. Boigelot, B., Franois, J.-M., Latour, L.: The Liège automata-based symbolic handler (LASH). http://www.montefiore.ulg.ac.be/~boigelot/research/lash/ (2011)

  7. Boigelot, B., Legay, A., Wolper, P.: Iterating transducers in the large. In: Hunt Jr. W.A., Somenzi, F. (eds.) Proc. CAV’03, 15th Int. Conf. on Computer Aided Verification, LNCS 2725, pp. 223–235, Springer (2003)

  8. Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular model checking. In: Emerson, E.A, Sistla, A.P. (eds.) Proc. CAV’00, 12th Int. Conf. on Computer Aided Verification, LNCS 1855, pp. 403–418, Springer (2000)

  9. Bouajjani A., Legay A., Wolper P.: Handling liveness properties in (ω-)regular model checking. Electr. Notes Theor. Comp. Sci. 138(3), 101–115 (2004)

    Article  MathSciNet  Google Scholar 

  10. Delzanno, G.: Automatic verification of cache coherence protocols. In: Emerson, E.A., Sistla, A.P. (eds.) Proc. CAV’00, 12th Int. Conf. on Computer Aided Verification, LNCS 1855, pp. 53–68, Springer (2000)

  11. van Dijkstra E.W., Feijen W.H.J., van Gasteren A.J.M.: Derivation of a termination detection algorithm for distributed computations. Inf. Process. Lett. 16(5), 217–219 (1983)

    Article  Google Scholar 

  12. Emerson, E.A., Kahlon, V.: Reducing model checking of the many to the few. In: McAllester, D.A. (ed.) Proc. CADE-17, 17th International Conference on Automated Deduction, LNCS 1831, pp. 236–254, Springer (2000)

  13. Emerson, E.A., Kahlon, V.: Rapid parameterized model checking of snoopy cache coherence protocols. In: Garavel, H., Hatcliff, J. (eds.) Proc. TACAS’03, 9th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2619, pp. 144–159, Springer (2003)

  14. Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: Proc. 22th ACM Symp. on Principles of Programming Languages. pp. 85–94 (1995)

  15. Esparza, J., Kucera, A., Mayr, R.: Model-checking LTL with regular valuations for pushdown systems. In: Kobayashi, N., Pierce, B.C. (eds.) Proc. TACS2001, 4th Int. Conf. on Theoretical Aspects of Computer Software, LNCS 2215, pp. 316–339, Springer (2001)

  16. Fang Y., Piterman N., Pnueli A., Zuck L.: Liveness with invisible ranking. Softw. Tools Technol. Transf. 8(3), 261–279 (2006)

    Article  Google Scholar 

  17. Fisman, D., Kupferman, O., Lustig, Y.: On verifying fault tolerance of distributed protocols. In: Ramakrishnan, C.R., Rehof, J. (eds.) Proc. TACAS’08, 14th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 4963, pp. 315–331, Springer (2008)

  18. German S.M., Sistla A.P.: Reasoning about systems with many processes. J ACM 39(3), 675–735 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  19. Giammarresi D., Restivo A.: Two-dimensional languages. In: Salomaa, A., Rozenberg, G. (eds) Handbook of Formal Languages, vol. 3, Beyond Words, pp. 215–267. Springer, Berlin (1997)

    Chapter  Google Scholar 

  20. Gribomont, E.P., Zenner, G.: Automated verification of Szymanski’s algorithm. In: Steffen, B. (ed.) Proc. TACAS’98, 4th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1384, pp. 424–438, Springer (1998)

  21. Henriksen, J.G., Jensen, J., Jørgensen, M., Klarlund, N., Paige, B., Rauhe, T., Sandholm, A.: Mona: Monadic second-order logic in practice. In: Brinksma, E., Cleaveland, R., Larsen, K.G., Margaria, T., Steffen, B. (eds.) Proc. TACAS’95, 1st Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1019, pp. 89–110, Springer (1995)

  22. Jonsson, B., Nilsson, M.: Transitive closures of regular relations for verifying infinite-state systems. In: Graf, S., Schwartzbach, M. (eds.) Proc. TACAS’00, 6th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1785, pp. 220–234, Springer (2000)

  23. Kesten Y., Maler O., Marcus M., Pnueli A., Shahar E.: Symbolic model checking with rich assertional languages. Theor. Comp. Sci. 256, 93–112 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  24. Lamport L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  25. Lamport L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16(3), 872–923 (1994)

    Article  Google Scholar 

  26. Lynch N.: Distributed Algorithms. Morgan Kaufmann, San Mateo (1996)

    MATH  Google Scholar 

  27. Manna Z., Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Berlin (1992)

    Book  Google Scholar 

  28. Nilsson, M.: Regular model checking. PhD thesis, Uppsala University (2005)

  29. Pnueli, A.: The temporal logic of programs. In: Proc. 18th Annual Symp. Foundations of Computer Science, pp. 46–57 (1977)

  30. Pnueli A.: The temporal semantics of concurrent programs. Theor. Comp. Sci. 13, 45–60 (1982)

    Article  MathSciNet  Google Scholar 

  31. Pnueli, A., Ruah, S., Zuck, L.: Automatic deductive verification with invisible invariants. In: Margaria, T., Yi, W. (eds.) Proc. TACAS’01, 7th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2031, pp. 82–97, Springer (2001)

  32. Pnueli, A., Shahar, E.: Liveness and acceleration in parameterized verification. In: Emerson E.A., Sistla, A.P. (eds.) Proc. CAV’00, 12th Int. Conf. on Computer Aided Verification, LNCS 1855, pp. 328–343, Springer (2000)

  33. Pnueli, A., Xu, J., Zuck, L.: Liveness with (0, 1, ∞)-counter abstraction. In: Brinskma, D., Larsen, K.G. (eds.) Proc. CAV’02, 14th Int. Conf. on Computer Aided Verification, LNCS 2404, pp. 107–122, Springer (2002)

  34. Sistla, A.P.: Parametrized verification of linear networks using automata as invariants. In: Grumberg, O. (ed.) Proc. CAV’97, 9th Int. Conf. on Computer Aided Verification, LNCS 1254, pp. 412–423, Springer (1997)

  35. Szymanski, B.K.: Mutual exclusion revisited. In: Proc. Fifth Jerusalem Conf. on Information Technology, pp. 110–117, IEEE Computer Society Press (1990)

  36. Tanenbaum A.S.: Computer Networks. Prentice-Hall, Upper Saddle River (1996)

    Google Scholar 

  37. Thomas W.: Automata on infinite objects. In: van Leeuwen, J. (eds) Handbook of Theoretical Computer Science, vol. B, Formal Models and Semantics, pp. 133–191. Elsevier, Amsterdam (1990)

    Google Scholar 

  38. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. LICS’86, 1st IEEE Int. Symp. on Logic in Computer Science, pp. 332–344 (1986)

  39. Vardi M.Y.: Verification of concurrent programs: the automata-theoretic framework. Ann. Pure Appl. Logic 51(1–2), 79–98 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  40. Wolper, P., Boigelot, B.: Verifying systems with infinite but regular state spaces. In: Hu, A.J., Vardi, M.Y. (eds.) Proc. CAV’98, 10th Int. Conf. on Computer Aided Verification, LNCS 1427, pp. 88–97, Springer (1998)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bengt Jonsson.

Additional information

Work supported in part by the Swedish Research Council and the UPMARC Center of Excellence.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Abdulla, P.A., Jonsson, B., Nilsson, M. et al. Regular model checking for LTL(MSO). Int J Softw Tools Technol Transfer 14, 223–241 (2012). https://doi.org/10.1007/s10009-011-0212-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-011-0212-z

Keywords

Navigation