Exp.Open 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-The-Fly Verification Methods

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

Abstract

It is desirable to integrate formal verification techniques applicable to different languages. We present Exp.Open 2.0, a new tool of the Cadp verification toolbox which combines several features. First, Exp.Open 2.0 allows to describe concurrent systems as a composition of finite state machines, using either synchronization vectors, or parallel composition, hiding, renaming, and cut operators from several process algebras (Ccs, Csp, Lotos, E-Lotos, μCrl).Second, together with other tools of Cadp, Exp.Open 2.0 allows state space generation and on-the-fly exploration. Third, Exp.Open 2.0 implements on-the-fly partial order reductions to avoid the generation of irrelevant interleavings of independent transitions.Fourth, Exp.Open 2.0 allows to export models towards other tools using interchange formats such as automata networks and Petri nets.Finally, we show some practical applications and measure the efficiency of Exp.Open 2.0 on several benchmarks.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    A bird’s eye view of JACK. Web page of the JACK project at CNR Pisa, http://fmt.isti.cnr.it/jack/OLD_JACK_PAGES/JACK/structure.html
  3. 3.
    Barros, T., Henrio, L., Madelaine, E.: Behavioural Models for Hierarchical Components, Submitted to the 12th International SPIN Workshop on Model Checking of Software (2005)Google Scholar
  4. 4.
    Behrmann, G., Larsen, K.G., Pelánek, R.: To Store or Not to Store. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 433–445. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Best, E., Esparza, J., Grahlmann, B., Melzer, S., Römer, S., Wallner, F.: The PEP verification system. In: Proceedings of FEmSys 1997 (1997)Google Scholar
  7. 7.
    Blom, S., van de Pol, J.: State Space Reduction by Proving Confluence. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 596. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    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. Springer, Heidelberg (1996)Google Scholar
  9. 9.
    Cheung, K.H.: Compositional Analysis of Complex Distributed Systems. PhD thesis, Department of Computer Science, Hong Kong University of Science and Technology, Hong Kong (1998)Google Scholar
  10. 10.
    Cheung, S.C., Kramer, J.: Enhancing Compositional Reachability Analysis with Context Constraints. In: Proceedings of the 1st ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Los Angeles, CA, USA, pp. 115–125. ACM Press, New York (1993)CrossRefGoogle Scholar
  11. 11.
    Cheung, S.C., Kramer, J.: Compositional Reachability Analysis of Finite-State Distributed Systems with User-Specified Constraints. In: Proceedings of the 3rd ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Washington, DC, USA, pp. 140–150. ACM Press, New York (1995)CrossRefGoogle Scholar
  12. 12.
    Cheung, S.C., Kramer, J.: Context Constraints for Compositional Reachability. ACM Transactions on Software Engineering Methodology TOSEM 5(4), 334–377 (1996)CrossRefGoogle Scholar
  13. 13.
    Christensen, S., Petrucci, L.: Modular State Space Analysis of Coloured Petri Nets. In: DeMichelis, G., Díaz, M. (eds.) ICATPN 1995. LNCS, vol. 935. Springer, Heidelberg (1995)Google Scholar
  14. 14.
    Fernandez, J.-C.: ALDEBARAN : un système de vérification par réduction de processus communicants. Thèse de Doctorat, Université Joseph Fourier, Grenoble (1988)Google Scholar
  15. 15.
    Fernandez, J.-C., Jard, C., Jéron, T., Mounier, L.: On the Fly” Verification of Finite Transition Systems. Formal Methods in System Design (1992)Google Scholar
  16. 16.
    Fernandez, J.-C., Mounier, L.: Verifying Bisimulations On the Fly. In: Proceedings of the 3rd International Conference on Formal Description Techniques FORTE 1990, Madrid, Spain. North-Holland, Amsterdam (1990)Google Scholar
  17. 17.
    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); Full version available as INRIA Research Report RR-3352Google Scholar
  18. 18.
    Garavel, H., Lang, F.: SVL: a Scripting Language for Compositional Verification. In: Proceedings of the 21st IFIP WG 6.1 International Conference on Formal Techniques for Networked and Distributed Systems FORTE 2001, Cheju Island, Korea. IFIP, pp. 377–392. Kluwer Academic Publishers, Dordrecht (2001); Full version available as INRIA Research Report RR-4223Google Scholar
  19. 19.
    Garavel, H., Lang, F., Mateescu, R.: An Overview of CADP 2001. European Association for Software Science and Technology (EASST) Newsletter, 4,13–24, 2002. Also available as INRIA Technical Report RT-0254 (2001)Google Scholar
  20. 20.
    Garavel, H., Mateescu, R.: SEQ.OPEN: A Tool for Efficient Trace-Based Verification. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 150–155. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Garavel, H., Mateescu, R., Smarandache, I.: Parallel State Space Construction for Model-Checking. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 217–234. Springer, Heidelberg (2001); Revised version available as INRIA Research Report RR-4341Google Scholar
  22. 22.
    Garavel, H., Sifakis, J.: Compilation and Verification of LOTOS Specifications. In: Proceedings of the 10th International Symposium on Protocol Specification, Testing and Verification, Ottawa, Canada. IFIP, pp. 379–394. North-Holland, Amsterdam (1990)Google Scholar
  23. 23.
    Garavel, H., Sighireanu, M.: A Graphical Parallel Composition Operator for Process Algebras. In: Proceedings of the Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols, and Protocol Specification, Testing, and Verification FORTE/PSTV 1999, Beijing, China. IFIP, pp. 185–202. Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
  24. 24.
    Gerth, R., Kuiper, R., Penczek, W., Peled, D.: A Partial Order Approach to Branching Time Logic Model Checking. Information and Computation 150(2), 132–152 (1999); A short version of this paper was previously published at the Third Israel Symposium on Theory of Computing and Systems ISTCS (1995)Google Scholar
  25. 25.
    Giannakopoulou, D.: Model Checking for Concurrent Software Architectures. PhD thesis, Imperial College of Science, Technology and Medicine — University of London — Department of Computer Science (1999)Google Scholar
  26. 26.
    Godefroid, P.: Using Partial Orders to Improve Automatic Verification Methods. In: Proceedings of the 2nd Workshop on Computer-Aided Verification, Rutgers, New Jersey, USA. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 3, pp. 321–340. AMS-ACM (1990)Google Scholar
  27. 27.
    Graf, S., Steffen, B., Lüttgen, G.: Compositional Minimisation of Finite State Systems using Interface Specifications. Formal Aspects of Computation 8(5), 607–616 (1996)MATHCrossRefGoogle Scholar
  28. 28.
    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
  29. 29.
    Groote, J.F., Monin, F., Springintveld, J.: A Computer Checked Algebraic Verification of a Distributed Summation Algorithm. Computer Science Report 97/14, Department of Mathematics and Computer Science, Eindhoven University of Technology (1997)Google Scholar
  30. 30.
    Groote, J.F., van de Pol, J.: State Space Reduction using Partial τ-Confluence. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, pp. 383–393. Springer, Heidelberg (2000); Also available as CWI Technical Report SEN-R0008, Amsterdam (2000)Google Scholar
  31. 31.
    Groote, J.F., Ponse, A.: Syntax and semantics of μ-CRL. In: Algebra of Communicating Processes, Workshops in Computing, pp. 26–62 (1995)Google Scholar
  32. 32.
    Groote, J.F., Sellink, M.P.A.: Confluence for process verification. Theoretical Computer Science 170(1–2), 47–81 (1996)MATHMathSciNetGoogle Scholar
  33. 33.
    Hansen, H., Penczek, W., Valmari, A.: Stuttering-Insensitive Automata for On-the-fly Detection of Livelock Properties. In: 7th International ERCIM Workshop in Formal Methods for Industrial Critical Systems. Electronic Notes in Theoretical Computer Science, vol. 66 (2002)Google Scholar
  34. 34.
    Hansen, H., Virtanen, H., Valmari, A.: Merging State-Based and Action-Based Verification. In: Proceedings of the Third International Conference on Application of Concurrency to System Design. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  35. 35.
    Hermanns, H.: Interactive Markov Chains. LNCS, vol. 2428, p. 129. Springer, Heidelberg (2002)MATHCrossRefGoogle Scholar
  36. 36.
    Hermanns, H., Siegle, M.: Bisimulation Algorithms for Stochastic Process Algebras and their BDD-based Implementation. In: Katoen, J.-P. (ed.) AMAST-ARTS 1999, ARTS 1999, and AMAST-WS 1999. LNCS, vol. 1601, pp. 244–265. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  37. 37.
    Holzmann, G.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)CrossRefMathSciNetGoogle Scholar
  38. 38.
    Holzmann, G.J.: On-The-Fly Model Checking. ACM Computing Surveys 28(4) (1996)Google Scholar
  39. 39.
    ISO/IEC. LOTOS — A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. International Standard 8807, International Organization for Standardization — Information Processing Systems — Open Systems Interconnection, Genève (1989)Google Scholar
  40. 40.
    ISO/IEC. Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001, International Organization for Standardization — Information Technology, Genève (2001)Google Scholar
  41. 41.
    Jéron, T., Morel, P.: Test generation derived from model-checking. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 108–121. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  42. 42.
    Krimm, J.-P., Mounier, L.: Compositional State Space Generation from LOTOS Programs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, Springer, Heidelberg (1997); Extended version with proofs available as Research Report VERIMAG RR97-01Google Scholar
  43. 43.
    Lang, F.: The Exp.Open 2.0 manual page, Available online (2004), at http://www.inrialpes.fr/vasy/cadp/man/exp.open.html
  44. 44.
    Malhotra, J., Smolka, S.A., Giacalone, A., Shapiro, R.: A Tool for Hierarchical Design and Simulation of Concurrent Systems. In: Proceedings of the BCS-FACS Workshop on Specification and Verification of Concurrent Systems, Stirling, Scotland, pp. 140–152. British Computer Society, Swinton (1988)Google Scholar
  45. 45.
    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); Full version available as INRIA Research Report RR-4711Google Scholar
  46. 46.
    Mateescu, R., Sighireanu, M.: Efficient On-the-Fly Model-Checking for Regular Alternation-Free Mu-Calculus. Science of Computer Programming 46(3), 255–281 (2003)MATHCrossRefMathSciNetGoogle Scholar
  47. 47.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  48. 48.
    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); Full version available as INRIA Research Report RR-4918Google Scholar
  49. 49.
    Peled, D.: Partial Order Reduction: Linear and Branching Temporal Logics and Process Algebras. In: Peled, et al. (eds.) [51]Google Scholar
  50. 50.
    Peled, D.A.: Combining partial order reduction with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818. Springer, Heidelberg (1994)Google Scholar
  51. 51.
    Peled, D.A., Pratt, V.R., Holzmann, G.J. (eds.): Proceedings of the Workshop on Partial Order Methods in Verification. Dimacs Series in Discrete Mathematics, vol. 29 (1997)Google Scholar
  52. 52.
    Ramakrishna, Y.S., Smolka, S.A.: Partial-Order Reduction in the Weak Modal Mu-Calculus. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 5–24. Springer, Heidelberg (1997)Google Scholar
  53. 53.
    Romijn, J.: Model Checking the HAVi Leader Election Protocol. Technical Report SEN-R9915, CWI, Amsterdam, The Netherlands, submitted to Formal Methods in System Design (1999)Google Scholar
  54. 54.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  55. 55.
    Sabnani, K.K., Lapone, A.M., Uyar, M.U.: An Algorithmic Procedure for Checking Safety Properties of Protocols. IEEE Transactions on Communications 37(9), 940–948 (1989)CrossRefGoogle Scholar
  56. 56.
    Tai, K.C., Koppol, V.: Hierarchy-Based Incremental Reachability Analysis of Communication Protocols. In: Proceedings of the IEEE International Conference on Network Protocols, San Francisco, CA, pp. 318–325. IEEE Press, Piscataway (1993)Google Scholar
  57. 57.
    Valmari, A.: A Stubborn Attack on State Explosion. In: Proceedings of the 2nd Workshop on Computer-Aided Verification, Rutgers, New Jersey, USA. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 3, pp. 25–42. AMS-ACM (1990)Google Scholar
  58. 58.
    Valmari, A.: Stubborn Set Methods for Process Algebras. In: Peled, et al. (eds.) [51]Google Scholar
  59. 59.
    Valmari, A., Kemppainen, J., Clegg, M., Levanto, M.: Putting Advanced Reachability Analysis Techniques Together: the “ARA” Tool. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 597–616. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  60. 60.
    Valmari, A.: Compositional State Space Generation. In: Rozenberg, G. (ed.) APN 1993. LNCS, vol. 674, pp. 427–457. Springer, Heidelberg (1993)Google Scholar
  61. 61.
    van de Pol, J.: Proof using the PVS theorem prover that bisimulations are congruences for synchronization vectors that do not rename, cut, nor synchronize τ-transitions. Personal communication (2003)Google Scholar
  62. 62.
    van Glabbeek, R.J., Weijland, W.P.: Branching-Time and Abstraction in Bisimulation Semantics (extended abstract). CS R8911, Centrum voor Wiskunde en Informatica, Amsterdam, 1989. Also in proc. IFIP 11th World Computer Congress, San Francisco (1989)Google Scholar
  63. 63.
    Yeh, W.J.: Controlling State Explosion in Reachability Analysis. PhD thesis, Software Engineering Research Center (SERC) Laboratory, Purdue University, Technical Report SERC-TR-147-P (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Frédéric Lang
    • 1
  1. 1.INRIA Rhône-Alpes / VASYSaint-IsmierFrance

Personalised recommendations