Abstract
We consider the model-checking problem for a particular class of parameterized systems: systems that consist of arbitrary numbers of components. The task is to show correctness regardless of the number of components. The term parameterized refers to the fact that the size of the system is a parameter of the verification problem. Examples of parameterized systems include mutual exclusion algorithms, bus protocols, networking protocols, cache coherence protocols, web services, and sensor networks. In this chapter, we will give four examples of techniques that have been used (among many others) for the verification of parameterized systems.
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., Lamport, L.: Composing specifications. In: ACM Transactions on Programming Languages and Systems. ACM, New York (1993)
Abdulla, P.A., Cerans, K., Jonsson, B., Tsay, Y.K.: General decidability theorems for infinite-state systems. In: Symp. on Logic in Computer Science (LICS), pp. 313–321. IEEE, Piscataway (1996)
Abdulla, P.A., Delzanno, G., Henda, N.B., Rezine, A.: Regular model checking without transducers (on efficient verification of parameterized systems). In: Grumberg, O., Huth, M. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 4424, pp. 721–736. Springer, Heidelberg (2007)
Abdulla, P.A., Haziza, F., Hol’ik, L.: All for the price of few (parameterized verification through view abstraction). In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 7737, pp. 476–495. Springer, Heidelberg (2013)
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.) Intl. Conf. on Concurrency Theory (CONCUR). LNCS, vol. 2421, pp. 116–130. Springer, Heidelberg (2002)
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.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 3114, pp. 348–360. Springer, Heidelberg (2004)
Abdulla, P.A., Jonsson, B., Nilsson, M., Saksena, M.: A survey of regular model checking. In: Intl. Conf. on Concurrency Theory (CONCUR). LNCS, vol. 3170, pp. 35–48. Springer, Heidelberg (2004)
Apt, K.R., Kozen, D.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)
Arons, T., Pnueli, A., Ruah, S., Xu, J., Zuck, L.D.: Parameterized verification with automatically computed inductive assertions. In: Berry, G., Comon, H., Finkel, A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2102, pp. 221–234. Springer, Heidelberg (2001)
Baukus, K., Lakhnech, Y., Stahl, K.: Parameterized verification of a cache coherence protocol: safety and liveness. In: Cortesi, A. (ed.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 2294, pp. 317–330. Springer, Heidelberg (2002)
Bhattacharya, R., German, S.M., Gopalakrishnan, G.: Exploiting symmetry and transactions for partial order reduction of rule based specifications. In: Valmari, A. (ed.) Intl. Symposium on Model Checking of Software (SPIN). LNCS, vol. 3925. Springer, Heidelberg (2006)
Bloem, R., Jacobs, S., Khalimov, A., Konnov, I., Rubin, S., Veith, H., Widder, J.: Decidability of Parameterized Verification. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool, San Rafael (2015)
Boigelot, B., Legay, A., Wolper, P.: Iterating transducers in the large (extended abstract). In: Hunt, W.A. Jr., Somenzi, F. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2725, pp. 223–235. Springer, Heidelberg (2003)
Boigelot, B., Legay, A., Wolper, P.: Omega-regular model checking. In: Jensen, K., Podelski, A. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 2988, pp. 561–575. Springer, Heidelberg (2004)
Bouajjani, A., Habermehl, P., Rogalewicz, A., Vojnar, T.: Abstract regular (tree) model checking. Int. J. Softw. Tools Technol. Transf. 14(2), 167–191 (2012)
Bouajjani, A., Habermehl, P., Vojnar, T.: Abstract regular model checking. In: Alur, R., Peled, D.A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 3114, pp. 372–386. Springer, Heidelberg (2004)
Bouajjani, A., Touili, T.: Extrapolating tree transformations. In: Brinksma, E., Larsen, K.G. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2404, pp. 539–554. Springer, Heidelberg (2002)
Browne, M., Clarke, E.M., Grumberg, O.: Reasoning about networks with many identical finite state processes. Inf. Comput. 81(1), 13–31 (1989)
Chen, X., Yang, Y., DeLisi, M., Gopalakrishnan, G., Chou, C.T.: Hierarchical cache coherence protocol verification one level at a time through assume guarantee. In: High Level Design Validation and Test Workshop (HLDVT). IEEE, Piscataway (2007)
Chou, C.T., Mannava, P.K., Park, S.: A simple method for parameterized verification of cache coherence protocols. In: Hu, A.J., Martin, A.K. (eds.) Formal Methods in Computer Aided Design (FMCAD). LNCS, vol. 3312. Springer, Heidelberg (2004)
Clarke, E.M., Grumberg, O., Jha, S.: Verifying parameterized networks using abstraction and regular languages. ACM Trans. Program. Lang. Syst. 19(5), 726–750 (1997)
Clarke, E.M., Jha, S., Enders, R., Filkorn, T.: Exploiting symmetry in temporal logic model checking. Form. Methods Syst. Des. 9(1/2), 77–104 (1996)
Clarke, E.M., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: Emerson, E.A., Namjoshi, K.S. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 3855, pp. 126–141. Springer, Heidelberg (2006)
Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: Halbwachs, N., Peled, D.A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 1633. Springer, Heidelberg (1999)
Delzanno, G.: Automatic verification of parameterized cache coherence protocols. In: Emerson, E.A., Sistla, A.P. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 1855, pp. 53–68. Springer, Heidelberg (2000)
Delzanno, G.: Verification of consistency protocols via infinite-state symbolic model checking. In: Bolognesi, T., Latella, D. (eds.) Formal Methods for Distributed System Development (FORTE), pp. 171–186. Springer, Heidelberg (2000)
Delzanno, G., Sangnier, A., Zavattaro, G.: Parameterized verification of ad hoc networks. In: Gastin, P., Laroussinie, F. (eds.) Intl. Conf. on Concurrency Theory (CONCUR). LNCS, vol. 6269, pp. 313–327. Springer, Heidelberg (2010)
Dickson, L.E.: Finiteness of the odd perfect and primitive abundant numbers with \(n\) distinct prime factors. Am. J. Math. 35, 413–422 (1913)
Emerson, E.A., Kahlon, V.: Reducing model checking of the many to the few. In: Intl. Conf. on Automated Deduction (CADE). LNCS, vol. 1831, pp. 236–254. Springer, Heidelberg (2000)
Emerson, E.A., Kahlon, V.: Exact and efficient verification of parameterized cache coherence protocols. In: Geist, D., Tronci, E. (eds.) Correct Hardware Design and Verification Methods (CHARME). LNCS, vol. 2860, pp. 247–262. Springer, Heidelberg (2003)
Emerson, E.A., Kahlon, V.: Model checking guarded protocols. In: Symp. on Logic in Computer Science (LICS), pp. 361–370. IEEE, Piscataway (2003)
Emerson, E.A., Kahlon, V.: Rapid parameterized model checking of snoopy cache coherence protocols. In: Garavel, H., Hatcliff, J. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 2619, pp. 144–159. Springer, Heidelberg (2003)
Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: Cytron, R.K., Lee, P. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 85–94. ACM, New York (1995)
Emerson, E.A., Namjoshi, K.S.: Automatic verification of parameterized synchronous systems. In: Alur, R., Henzinger, T.A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 1102, pp. 87–98. Springer, Heidelberg (1996)
Emerson, E.A., Sistla, A.P.: Symmetry and model checking. Form. Methods Syst. Des. 9(1/2), 105–131 (1996)
Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: Symp. on Logic in Computer Science (LICS), pp. 352–359. IEEE, Piscataway (1999)
Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere! Theor. Comput. Syst. 256(1–2), 63–92 (2001)
German, S.M., Sistla, A.P.: Reasoning about systems with many processes. J. ACM 39(3), 675–735 (1992)
Henriksen, J.G., Jensen, J.L., Jørgensen, M.E., Klarlund, N., Paige, R., Rauhe, T., Sandholm, A.: Mona: monadic second-order logic in practice. In: Brinksma, E., Cleaveland, R., Larsen, K.G., Margaria, T., Steffen, B. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 1019, pp. 89–110. Springer, Heidelberg (1995)
Higman, G.: Ordering by divisibility in abstract algebras. Proc. London Math. Soc. (3) 2(7) (1952)
Ip, C.N., Dill, D.L.: Better verification through symmetry. In: Proc. Conf. on Computer Hardware Description Languages and Their Applications, pp. 97–111 (1993)
Ip, C.N., Dill, D.L.: Better verification through symmetry. Form. Methods Syst. Des. 9(1/2), 41–75 (1996)
Karp, R.M., Miller, R.E.: Parallel program schemata. J. Comput. Syst. Sci. 3(2), 147–195 (1969)
Kelb, P., Margaria, T., Mendler, M., Gsottberger, C.: Mosel: a flexible toolset for monadic second-order logic. In: Brinksma, E. (ed.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 1217, pp. 183–202. Springer, Heidelberg (1997)
Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. In: Grumberg, O. (ed.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 1254, pp. 424–435. Springer, Heidelberg (1997)
Krstic, S.: Parameterized system verification with guard strengthening and parameter abstraction. In: Automated Verification of Infinite State Systems (2005)
Kurshan, R.P., McMillan, K.: A structural induction theorem for processes. In: Rudnicki, P. (ed.) ACM Symp. on Principles of Distributed Computing (PODC), pp. 239–247. ACM, New York (1989)
Lahiri, S.K., Bryant, R.E.: Indexed predicate discovery for unbounded system verification. In: Alur, R., Peled, D.A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 3114, pp. 135–147. Springer, Heidelberg (2004)
Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)
Lesens, D., Halbwachs, N., Raymond, P.: Automatic verification of parametrized linear networks of processes. In: Boehm, H.-J., Steele, G.L. Jr. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 101–105. ACM, New York (1996)
Maidl, M.: A unifying model checking approach for safety properties of parameterized systems. In: Berry, G., Comon, H., Finkel, A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2102, pp. 311–323. Springer, Heidelberg (2001)
McMillan, K.L.: Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In: Hu, A.J., Vardi, M.Y. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 1427. Springer, Heidelberg (1998)
McMillan, K.L.: Verification of infinite state systems by compositional model checking. In: Pierre, L., Kropf, T. (eds.) Correct Hardware Design and Verification Methods (CHARME). LNCS, vol. 1703. Springer, Heidelberg (1999)
McMillan, K.L.: Parameterized verification of the FLASH cache coherence protocol by compositional model checking. In: Correct Hardware Design and Verification Methods (CHARME). LNCS, vol. 2144, pp. 179–195. Springer, Heidelberg (2001)
Misra, J., Chandy, K.M.: Proofs of networks of processes. In: IEEE Transactions on Software Engineering, vol. SE-7. IEEE, Piscataway (1981)
O’Leary, J., Talupur, M., Tuttle, M.R.: Protocol Verification using Flows: Parameterized Verification using Message Flows. Formal Methods in Computer Aided Design (FMCAD). IEEE, Piscataway (2009)
Park, S., Dill, D.L.: Verification of flash cache coherence protocol by aggregation of distributed transactions. In: SPAA ’96: Proceedings of the Eighth Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 288–296. ACM, New York (1996)
Pnueli, A., Ruah, S., Zuck, L.D.: Automatic deductive verification with invisible invariants. In: Margaria, T., Yi, W. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 2031, pp. 82–97. Springer, Heidelberg (2001)
Pnueli, A., Xu, J., Zuck, L.D.: Liveness with (\(0, 1, \infty\))-counter abstraction. In: Brinksma, E., Larsen, K.G. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2402, pp. 107–122. Springer, Heidelberg (2002)
Roychoudhury, A., Ramakrishnan, I.V.: Automated inductive verification of parameterized protocols. In: Berry, G., Comon, H., Finkel, A. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 2102, pp. 25–37. Springer, Heidelberg (2001)
Sethi, D., Talupur, M., Schwartz-Narbonne, D., Malik, S.: Parameterized model checking of fine grained concurrency. In: Donaldson, A.F., Parker, D. (eds.) Intl. Symposium on Model Checking of Software (SPIN). LNCS, vol. 7385. Springer, Heidelberg (2012)
Shtadler, Z., Grumberg, O.: Network grammars, communication behaviors and automatic verification. In: Sifakis, J. (ed.) Workshop on Automatic Verification Methods for Finite State Systems. LNCS, pp. 151–166. Springer, Heidelberg (1989)
Sistla, A.P., Gyuris, V.: Parameterized verification of linear networks using automata as invariants. Form. Asp. Comput. 11, 402–425 (1999)
Suzuki, I.: Proving properties of a ring of finite-state machines. Inf. Process. Lett. 28(4), 213–214 (1988)
Szymanski, B.K.: A simple solution to Lamport’s concurrent programming problem with linear wait. In: Lenfant, J. (ed.) International Conference on Supercomputing (ICS), pp. 621–626. ACM, New York (1988)
Talupur, M., Krstic, S., O’Leary, J., Tuttle, M.R.: Parametric verification of industrial strength cache coherence protocols. In: Proc. Workshop on Design of Correct Circuits (DCC) (2008)
Talupur, M., Tuttle, M.R.: Going with the flow: parameterized verification using message flows. In: Cimatti, A., Jones, R.B. (eds.) Formal Methods in Computer Aided Design (FMCAD). IEEE, Piscataway (2008)
Topnik, C., Wilhelm, E., Margaria, T., Steffen, B.: jMosel: a stand-alone tool and jABC plugin for M2L(Str). In: Valmari, A. (ed.) Intl. Symposium on Model Checking of Software (SPIN). LNCS, vol. 3925, pp. 293–298. Springer, Heidelberg (2006)
Touili, T.: Regular model checking using widening techniques. Electron. Notes Theor. Comput. Sci. 50(4), 342–356 (2001)
Wolper, P., Lovinfosse, V.: Verifying properties of large sets of processes with network invariants. In: Sifakis, J. (ed.) Workshop on Automatic Verification Methods for Finite State Systems, pp. 68–81. Springer, Heidelberg (1989)
Zuck, L.D., Pnueli, A.: Model checking and abstraction to the aid of parameterized systems (a survey). Comput. Lang. Syst. Struct. 30(3–4), 139–169 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Abdulla, P.A., Sistla, A.P., Talupur, M. (2018). Model Checking Parameterized Systems. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds) Handbook of Model Checking. Springer, Cham. https://doi.org/10.1007/978-3-319-10575-8_21
Download citation
DOI: https://doi.org/10.1007/978-3-319-10575-8_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10574-1
Online ISBN: 978-3-319-10575-8
eBook Packages: Computer ScienceComputer Science (R0)