Partial Model Checking Using Networks of Labelled Transition Systems and Boolean Equation Systems

  • Frédéric Lang
  • Radu Mateescu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7214)

Abstract

Partial model checking was proposed by Andersen in 1995 to verify a temporal logic formula compositionally on a composition of processes. It consists in incrementally incorporating into the formula the behavioural information taken from one process — an operation called quotienting — to obtain a new formula that can be verified on a smaller composition from which the incorporated process has been removed. Simplifications of the formula must be applied at each step, so as to maintain the formula at a tractable size. In this paper, we revisit partial model checking. First, we extend quotienting to the network of labelled transition systems model, which subsumes most parallel composition operators, including m among n synchronisation and parallel composition using synchronisation interfaces, available in the E-Lotos standard. Second, we reformulate quotienting in terms of a simple synchronous product between a graph representation of the formula (called formula graph) and a process, thus enabling quotienting to be implemented efficiently and easily, by reusing existing tools dedicated to graph compositions. Third, we propose simplifications of the formula as a combination of bisimulations and reductions using Boolean equation systems applied directly to the formula graph, thus enabling formula simplifications also to be implemented easily and efficiently. Finally, we describe an implementation in the CADP (Construction and Analysis of Distributed Processes) toolbox and present some experimental results in which partial model checking uses hundreds of times less memory than on-the-fly model checking.

References

  1. 1.
    Andersen, H.R.: Model checking and Boolean graphs. Theoretical Computer Science 126(1), 3–30 (1994)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Andersen, H.R.: Partial Model Checking. In: Proc. of Logic in Computer Science LICS. IEEE Computer Society Press (1995)Google Scholar
  3. 3.
    Andersen, H.R., Lind-Nielsen, J.: MuDiv: A Tool for Partial Model Checking. In: Proc. of CONCUR (1996)Google Scholar
  4. 4.
    Andersen, H.R., Lind-Nielsen, J.: Partial Model Checking of Modal Equations: A Survey. STTT 2, 242–259 (1999)MATHCrossRefGoogle Scholar
  5. 5.
    Andersen, H.R., Staunstrup, J., Maretti, N.: Partial Model Checking with ROBDDs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 35–49. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  6. 6.
    Andersen, H.R., Staunstrup, J., Maretti, N.: A Comparison of Modular Verification. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, Springer, Heidelberg (1997)Google Scholar
  7. 7.
    Arnold, A.: MEC: A System for Constructing and Analysing Transition Systems. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 117–132. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  8. 8.
    Basu, S., Ramakrishnan, C.R.: Compositional Analysis for Verification of Parameterized Systems. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 315–330. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Berard, B., Laroussinie, F.: Verification compositionnelle des p-automates. Tech. Report Lot 4.1, RNTL, projet AVERROES (2003)Google Scholar
  10. 10.
    Bodentien, N., Vestergaard, J., Friis, J., Kristoffersen, K., Larsen, K.: Verification of State/Event Systems by Quotienting. Tech. Report RS-99-41, BRICS (1999)Google Scholar
  11. 11.
    Bouali, A., Ressouche, A., Roy, V., de Simone, R.: The Fc2Tools Set: a Toolset for the Verification of Concurrent Systems. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 441–445. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  12. 12.
    Cassez, F., Laroussinie, F.: Model-Checking for Hybrid Systems by Quotienting and Constraints Solving. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 373–388. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Champelovier, D., Clerc, X., Garavel, H., Guerte, Y., Lang, F., McKinty, C., Powazny, V., Serwe, W., Smeding, G.: Reference Manual of the LOTOS NT to LOTOS Translator (Version 5.4). INRIA/VASY (2011)Google Scholar
  14. 14.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press (2000)Google Scholar
  15. 15.
    Cleaveland, R., Steffen, B.: A Linear-Time Model-Checking Algorithm for the Alternation-Free Modal Mu-Calculus. FMSD 2(2), 121–147 (1993)MATHGoogle Scholar
  16. 16.
    Crouzen, P., Lang, F.: Smart Reduction. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 111–126. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Fernandez, J.-C., Mounier, L.: “On the Fly” Verification of Behavioural Equivalences and Preorders. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 181–191. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  18. 18.
    Garavel, H.: OPEN/CAESAR: An Open Software Architecture for Verification, Simulation, and Testing. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 68–84. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Garavel, H., Lang, F.: SVL: a Scripting Language for Compositional Verification. In: Proc. of FORTE. IFIP. Kluwer Academic Publishers (2001)Google Scholar
  20. 20.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 372–387. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
    Garavel, H., Sighireanu, M.: A Graphical Parallel Composition Operator for Process Algebras. In: Proc. of FORTE/PSTV. IFIP. Kluwer (1999)Google Scholar
  22. 22.
    Garavel, H., Thivolle, D.: Verification of GALS Systems by Combining Synchronous Languages and Process Calculi. In: Păsăreanu, C.S. (ed.) Model Checking Software. LNCS, vol. 5578, pp. 241–260. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  23. 23.
    Graf, S., Steffen, B.: Compositional Minimization of Finite State Systems. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 186–196. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  24. 24.
    ISO/IEC. LOTOS — A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. ISO International Standard 8807 (1989)Google Scholar
  25. 25.
    ISO/IEC. Enhancements to LOTOS (E-LOTOS). ISO International Standard 15437 (2001)Google Scholar
  26. 26.
    Kozen, D.: Results on the Propositional μ-calculus. TCS 27, 333–354 (1983)MathSciNetMATHCrossRefGoogle Scholar
  27. 27.
    Krimm, J.-P., Mounier, L.: Compositional State Space Generation from LOTOS Programs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 239–258. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  28. 28.
    Lang, F.: Exp.Open 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-The-Fly Verification Methods. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 70–88. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  29. 29.
    Lang, F.: Refined Interfaces for Compositional Verification. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 159–174. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  30. 30.
    Lang, F., Mateescu, R.: Partial Order Reductions Using Compositional Confluence Detection. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 157–172. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  31. 31.
    Laroussinie, F., Larsen, K.: Compositional Model Checking of Real Time Systems. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 27–41. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  32. 32.
    Laroussinie, F., Larsen, K.: CMC: A Tool for Compositional Model Checking of Real-Time Systems. In: Proc. of FORTE (1998)Google Scholar
  33. 33.
    Larsen, K., Pettersson, P., Yi, W.: Compositional and Symbolic Model Checking of Real-Time Systems. In: Proc. of the IEEE Real-Time Symposium (1995)Google Scholar
  34. 34.
    Martinelli, F.: Symbolic Partial Model Checking for Security Analysis. In: Gorodetsky, V., Popyack, L.J., Skormin, V.A. (eds.) MMM-ACNS 2003. LNCS, vol. 2776, pp. 122–134. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  35. 35.
    Mateescu, R.: Efficient Diagnostic Generation for Boolean Equation Systems. In: Graf, S. (ed.) TACAS 2000. LNCS, vol. 1785, pp. 251–265. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  36. 36.
    Mateescu, R.: On-the-fly State Space Reductions for Weak Equivalences. In: Proc. of FMICS. ERCIM. ACM Computer Society Press (2005)Google Scholar
  37. 37.
    Mateescu, R.: CAESAR_SOLVE: A Generic Library for On-the-Fly Resolution of Alternation-Free Boolean Equation Systems. STTT 8(1), 37–56 (2006)MathSciNetCrossRefGoogle Scholar
  38. 38.
    Mateescu, R., Sighireanu, M.: Efficient On-the-Fly Model-Checking for Regular Alternation-Free Mu-Calculus. SCP 46(3), 255–281 (2003)MathSciNetMATHGoogle Scholar
  39. 39.
    Mateescu, R., Thivolle, D.: A Model Checking Language for Concurrent Value-Passing Systems. In: Cuellar, J., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 148–164. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  40. 40.
    Pace, G.J., Lang, F., Mateescu, R.: Calculating τ-Confluence Compositionally. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 446–459. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Frédéric Lang
    • 1
  • Radu Mateescu
    • 1
  1. 1.VASY Project TeamINRIA Grenoble Rhône-Alpes/LigMontbonnotFrance

Personalised recommendations