Abstract
The major bottleneck of explicit model-checking tools is the limited amount of available memory. Distributed model-checking is an approach to tackle the combinatorial explosion problem. It consists in taking advantage of the aggregate of memory provided by a network of workstations to increase the amount of memory available for model-checking.
Helena is the model-checker of the Quasar tool suite for concurrent software verification. It is a high-level colored Petri net explicit sequential model-checker that implements several state-space reduction and efficient state representation mechanisms. Helena is currently able to verify safety properties. In this paper we present Cyclades, a distributed version of Helena , that remains compatible with these reduction techniques. Several distribution mechanisms and some preliminary results are also provided.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Berthelot, G.: Transformation et analyse de réseaux de Petri, applications aux protocoles. Thèse d’état, Université Pierre et Marie Curie, Paris (1983)
Bell, A., Haverkort, B.R.: Sequential and distributed model checking of petri net specifications. Electr. Notes Theor. Comput. Sci. 68(4) (2002)
Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. In: POPL ’92: Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Albuquerque, New Mexico, United States, pp. 343–354. ACM Press, New York (1992)
Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-Line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)
Cohen, E., Lamport, L.: Reduction in TLA. In: International Conference on Concurrency Theory, pp. 317–331 (1998), citeseer.nj.nec.com/cohen98reduction.html
Evangelista, S., Haddad, S., Pradat-Peyre, J.F.: New coloured reductions for software validation. In: Work. on Discrete Event Systems, Reims, France (2004)
Evangelista, S., Kaiser, C., Pajault, C., Pradat-Peyre, J.F., Rousseau, P.: Dynamic tasks verification with quasar. In: Vardanega, T., Wellings, A.J. (eds.) Ada-Europe 2005. LNCS, vol. 3555, Springer, Heidelberg (2005)
Evangelista, S., Kaiser, C., Pradat-Peyre, J.F., Rousseau, P.: Quasar: a new tool for analysing concurrent programs. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, Springer, Heidelberg (2003)
Evangelista, S., Peyre, J.-F.: On the computation of stubborn sets of colored petri nets. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, Springer, Heidelberg (2006)
Evangelista, S., Pradat-Peyre, J.-F.: Memory efficient state space storage in explicit software model checking. In: Godefroid, P. (ed.) Model Checking Software. LNCS, vol. 3639, p. 43. Springer, Heidelberg (2005)
Evangelista, S.: High level petri nets analysis with helena. In: Ciardo, G., Darondeau, P. (eds.) ICATPN 2005. LNCS, vol. 3536, pp. 455–464. Springer, Heidelberg (2005)
Flanagan, C., Qadeer, S.: Transactions for software model checking. In: Cook, B., Stoller, S., Visser, W. (eds.) Electronic Notes in Theoretical Computer Science, vol. 89, Elsevier, Amsterdam (2003)
Freund, S.N., Qadeer, S.: Checking concise specifications for multithreaded software. In: FTfJP 03: Formal Techniques for Java-like Programs (2003)
Garavel, H., Mateescu, R., Smarandache, I.: Parallel state space construction for model-checking. In: Dwyer, M.B. (ed.) Model Checking Software. LNCS, vol. 2057, pp. 217–234. Springer, Heidelberg (2001)
Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. Form. Methods Syst. Des. 2(2), 149–164 (1993)
Heyman, T., Geist, D., Grumberg, O., Schuster, A.: Achieving scalability in parallel reachability analysis of very large circuits. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 20–35. Springer, Heidelberg (2000)
Holzmann, G.J.: On limits and possibilities of automated protocol analysis. In: Proceedings of the IFIP WG6.1 Seventh International Conference on Protocol Specification, Testing and Verification VII, pp. 339–344. North-Holland, Amsterdam (1987)
Holzmann, G.J.: State compression in SPIN: Recursive indexing and compression training runs. In: Proc. of the 3th International SPIN Workshop (1997)
Haddad, S., Pradat-Peyre, J.-F.: New efficient petri nets reductions for parallel programs verification (to appear). Parallel Processing Letters 16(1) (2006)
Brim, L., Barnat, J., Stríbrná, J.: Distributed LTL model-checking in SPIN. In: Dwyer, M.B. (ed.) Model Checking Software. LNCS, vol. 2057, pp. 200–216. Springer, Heidelberg (2001)
Knottenbelt, W.J., Mestern, M., Harrison, P.G., Kritzinger, P.S.: Probability, parallelism and the state space exploration problem. In: Computer Performance Evaluation (Tools), pp. 165–179 (1998)
Kristensen, L.M., Petrucci, L.: An approach to distributed state space exploration for coloured petri nets. In: Cortadella, J., Reisig, W. (eds.) ICATPN 2004. LNCS, vol. 3099, pp. 474–483. Springer, Heidelberg (2004)
Lipton, R.J.: Reduction: a method of proving properties of parallel programs. Commun. ACM 18(12), 717–721 (1975), doi:10.1145/361227.361234
Lerda, F., Sisto, R.: Distributed-memory model checking with SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) Theoretical and Practical Aspects of SPIN Model Checking. LNCS, vol. 1680, pp. 22–39. Springer, Heidelberg (1999)
Lerda, F., Visser, W.: Addressing dynamic issues of program model checking. In: Dwyer, M.B. (ed.) Model Checking Software. LNCS, vol. 2057, pp. 80–102. Springer, Heidelberg (2001)
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Norwell (1993)
Poitrenaud, D., Pradat-Peyre, J.F.: Pre and post-agglomerations for LTL model checking. In: Nielsen, M., Simpson, D. (eds.) ICATPN 2000. LNCS, vol. 1825, pp. 387–408. Springer, Heidelberg (2000)
Rousseau, P.: A new approach for concurrent program slicing. In: Najm, E., Pradat-Peyre, J.F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, Springer, Heidelberg (2006)
Stern, U., Dill, D.L.: Parallelizing the murphi verifier. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 256–278. Springer, Heidelberg (1997)
Valmari, A.: On-the-fly verification with stubborn sets. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 397–408. Springer, Heidelberg (1993)
Vernadat, F., Michel, F.: Covering step graph preserving failure semantics. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 253–270. Springer, Heidelberg (1997)
Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)
Wolper, P., Leroy, D.: Reliable hashing without collision detection. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 59–70. Springer, Heidelberg (1993)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Pajault, C., Pradat-Peyre, JF. (2007). Distributed Colored Petri Net Model-Checking with Cyclades . In: Brim, L., Haverkort, B., Leucker, M., van de Pol, J. (eds) Formal Methods: Applications and Technology. PDMC 2006. Lecture Notes in Computer Science, vol 4346. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70952-7_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-70952-7_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70951-0
Online ISBN: 978-3-540-70952-7
eBook Packages: Computer ScienceComputer Science (R0)