Distributed On-the-Fly Model Checking and Test Case Generation

  • Christophe Joubert
  • Radu Mateescu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3925)


The explicit-state analysis of concurrent systems must handle large state spaces, which correspond to realistic systems containing many parallel processes and complex data structures. In this paper, we combine the on-the-fly approach (incremental construction of the state space) and the distributed approach (state space exploration using several machines connected by a network) in order to increase the computing power of analysis tools. To achieve this, we propose Mb-DSolve, a new algorithm for distributed on-the-fly resolution of multiple block, alternation-free boolean equation systems (Bess).First, we apply Mb-DSolve to perform distributed on-the-fly model checking of alternation-free modal μ-calculus, using the standard encoding of the problem as a Bes resolution. The speedup and memory consumption obtained on large state spaces improve over previously published approaches based on game graphs. Next, we propose an encoding of the conformance test case generation problem as a Bes resolution from which a diagnostic representing the complete test graph (Ctg) is built. By applying Mb-DSolve, we obtain a distributed on-the-fly test case generator whose capabilities scale up smoothly w.r.t. well-established existing sequential tools.


Model Check Boolean Variable Test Case Generation Game Graph Large State Space 
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.
    Andersen, H.R.: Model checking and boolean graphs. Th. Comp. Sci. 126(1), 3–30 (1994)CrossRefMATHGoogle Scholar
  2. 2.
    Andersen, H.R., Vergauwen, B.: Efficient Checking of Behavioural Relations and Modal Assertion using Fixed-Point Inversion. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 142–154. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  3. 3.
    Barnat, J., Brim, L., Stribrna, J.: Distributed LTL model-checking in SPIN. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 200–216. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Bergamini, D., Descoubes, N., Joubert, C., Mateescu, R.: Bisimulator: A Modular Tool for On-the-Fly Equivalence Checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 581–585. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Bollig, B., Leucker, M., Weber, M.: Local parallel model checking for the alternation free mu-calculus. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 128–147. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic Verification of Finite- State Concurrent Systems using Temporal Logic Specifications. ACM Trans. on Prog. Lang. and Systems 8(2), 244–263 (1986)CrossRefMATHGoogle Scholar
  7. 7.
    Du, X., Smolka, S.A., Cleaveland, R.: Local Model Checking and Protocol Analysis. Int. J. on Software Tools for Technology Transfer (STTT) 2(3), 219–241 (1999)CrossRefMATHGoogle Scholar
  8. 8.
    Emerson, E.A., Lei, C.-L.: Efficient Model Checking in Fragments of the Propositional Mu-Calculus. In: Proc. of the 1st LICS, pp. 267–278 (1986)Google Scholar
  9. 9.
    Fischer, M.J., Ladner, R.E.: Propositional Dynamic Logic of Regular Programs. J. of Computer and System Sciences 18(2), 194–211 (1979)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Garavel, H.: OPEN/CÆSAR: 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
  11. 11.
    Garavel, H., Lang, F., Mateescu, R.: An Overview of CADP 2001. European Assoc. for Software Science and Technology (EASST) Newsletter 4, 13–24 (2002)Google Scholar
  12. 12.
    Hermanns, H., Joubert, C.: A Set of Performance and Dependability Analysis Components for Cadp. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 425–430. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Holmén, F., Leucker, M., Lindström, M.: UppDMC – A Distributed Model Checker for Fragments of the μ-calculus. In: Proc. of PDMC 2004. ENTCS, vol. 128, pp. 91–105 (2004)Google Scholar
  14. 14.
    Holzmann, G.: The SPIN Model Checker — Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
  15. 15.
    Huang, S.T., Kao, P.W.: Detecting Termination of Distributed Computations by External Agents. J. of Inf. Sci. and Engineering 7(2), 187–201 (1991)Google Scholar
  16. 16.
    Jard, C., Jéron, T.: TGV: Theory, Principles and Algorithms. Springer Int. J. on Software Tools for Technology Transfer (STTT) 7(4), 97–315 (2005)Google Scholar
  17. 17.
    Joubert, C., Mateescu, R.: Distributed On-the-Fly Equivalence Checking. In: Proc. of PDMC 2004. ENTCS, vol. 128, pp. 47–62 (2004)Google Scholar
  18. 18.
    Joubert, C., Mateescu, R.: Distributed Local Resolution of Boolean Equation Systems. In: Proc. of PDP 2005. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  19. 19.
    Kozen, D.: Results on the Propositional μ-calculus. Th. Comp. Sci. 27, 333–354 (1983)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Larsen, K.G.: Proof Systems for Hennessy-Milner logic with Recursion. In: Dauchet, M., Nivat, M. (eds.) CAAP 1988. LNCS, vol. 299, pp. 215–230. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  21. 21.
    Lerda, F., Sisto, R.: Distributed-memory model checking with SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 22–39. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Leucker, M., Somla, R., Weber, M.: Parallel Model Checking for LTL, CTL ∗  and L2 μ. In: Proc. of PDMC 2003. ENTCS, vol. 89, pp. 4–16 (2003)Google Scholar
  23. 23.
    Mader, A.: Verification of Modal Properties Using Boolean Equation Systems. In: VERSAL, vol. 8, Bertz Verlag, Berlin (1997)Google Scholar
  24. 24.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems, volume I: Specification. Springer, Heidelberg (1992)CrossRefMATHGoogle Scholar
  25. 25.
    Mateescu, R.: Efficient Diagnostic Generation for Boolean Equation Systems. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 251–265. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. 26.
    Mateescu, R.: A Generic On-the-Fly Solver for Alternation-Free Boolean Equation Systems. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 81–96. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    Mateescu, R.: On-the-fly state space reductions for weak equivalences. In: Proc. of FMICS 2005 (2005)Google Scholar
  28. 28.
    Mateescu, R.: CAESAR SOLVE: A Generic Library for On-the-Fly Resolution of Alternation-Free Boolean Equation Systems. Int. J. on Software Tools for Technology Transfer (STTT) (2006)Google Scholar
  29. 29.
    Mateescu, R., Sighireanu, M.: Efficient On-the-Fly Model-Checking for Regular Alternation-Free Mu-Calculus. Sci. of Comp. Programming 46(3), 255–281 (2003)MathSciNetCrossRefMATHGoogle Scholar
  30. 30.
    Mattern, F.: Algorithms for Distributed Termination Detection. Distributed Computing 2, 161–175 (1987)CrossRefGoogle Scholar
  31. 31.
    Pace, G., 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
  32. 32.
    Stevens, P., Stirling, C.: Practical Model-Checking using Games. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 85–101. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  33. 33.
    Tretmans, J.: Test Generation with Inputs, Outputs and Repetitive Quiescence. Software - Concepts and Tools 17(3), 103–120 (1996)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Christophe Joubert
    • 1
  • Radu Mateescu
    • 1
    • 2
  1. 1.INRIA Rhône-Alpes / VASYMontbonnot St MartinFrance
  2. 2.ENS Lyon / LIP / PLUMELyonFrance

Personalised recommendations