Skip to main content
Log in

Parameterized verification through view abstraction

  • PV 2014
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

We present a simple and efficient framework for automatic verification of systems with a parametric number of communicating processes. The processes may be organized in various topologies such as words, multisets, rings, or trees. Our method needs to inspect only a small number of processes in order to show correctness of the whole system. It relies on an abstraction function that views the system from the perspective of a fixed number of processes. The abstraction is used during the verification procedure in order to dynamically detect cut-off points beyond which the search of the state space need not continue. We show that the method is complete for a large class of well quasi-ordered systems including Petri nets. Our experimentation on a variety of benchmarks demonstrate that the method is highly efficient and that it works well even for classes of systems with undecidable verification problems. In particular, the method handles the fine-grained and full version of Szymanski’s mutual exclusion protocol, whose correctness, to the best of our knowledge, has not been proven automatically by any other existing methods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. Recall that we consider here transitions that do not change the size of a configuration.

  2. In fact, the post-image is rather implemented in a similar manner than the symbolic post-image described in Sect. 4.2.1.

  3. In the case processes do not loop in-order, \(\checkmark \) is replaced with a binary relation \(R\subseteq \llbracket {1}{,}{n}\rrbracket \times \llbracket {1}{,}{n}\rrbracket \) on positions, initially empty. When process i inspects process j, the pair (ij) is added to the relation. We say that i ticks j. This can be implemented with a matrix of size \(n{\times }n\) of boolean values and allows us to cover the case where processes inspect each other in a random order.

References

  1. Abdulla, P.A.: Well (and better) quasi-ordered transition systems. Bull. Symb. Logic 16(4), 457–515 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  2. Abdulla, P.A., Čerāns, K., Jonsson, B., Tsay, Y.-K.: General decidability theorems for infinite-state systems. In: LICS’96, pp. 313–321 (1996)

  3. Abdulla, P.A., Delzanno, G., Rezine, A.: Approximated context-sensitive analysis for parameterized verification. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FORTE’09, vol. 5522 of LNCS, pp. 41–56. Springer (2009)

  4. Abdulla, P.A., Haziza, F., Holík, L.: Block me if you can!—context-sensitive parameterized verification. In: SAS14, pp. 1–17 (2014)

  5. Abdulla, P.A., Haziza, F., Holík, L., Jonsson, B., Rezine, A.: An integrated specification and verification technique for highly concurrent data structures. In: TACAS13, pp. 324–338 (2013)

  6. Abdulla, P.A., Haziza, F., Holík, L.: All for the price of few (parameterized verification through view abstraction). In: Proceedings of VMCAI ’13, 14th International Conference on Verification, Model Checking, and Abstract Interpretation, vol. 7737 of LNCS, pp. 476–495 (2013)

  7. Abdulla, P.A., Henda, N.B., Delzanno, G., Rezine, A.: Regular model checking without transducers (on efficient verification of parameterized systems). In: TACAS’07, vol. 4424 of LNCS, pp. 721–736. Springer (2007)

  8. Abdulla, P.A., Henda, N.B., Delzanno, G., Rezine, A.: Handling parameterized systems with non-atomic global conditions. In: VMCAI08, vol. 4905 of LNCS, pp. 22–36. Springer (2008)

  9. Abdulla, P.A., Jonsson, B.: Verifying programs with unreliable channels. In: Proc. LICS ’93, 8th IEEE Int. Symp. on Logic in Computer Science, pp. 160–170 (1993)

  10. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Regular model checking made simple and efficient. In: Proc. CONCUR ’02, 13th International Conference on Concurrency Theory, vol. 2421 of LNCS, pp. 116–130. Springer (2002)

  11. Abdulla, P.A., Čerāns, K., Jonsson, B., Tsay, Y.-K.: Algorithmic analysis of programs with well quasi-ordered domains. Inf. Comput. 160(1–2), 109–127 (2000)

  12. Alberti, F., Ghilardi, S., Sharygina, N.: A framework for the verification of parameterized infinite-state systems. In: Proceedings of the 29th Italian Conference on Computational Logic, vol. 1195 of CEUR Workshop Proceedings, pp. 303–308. CEUR-WS.org (2014)

  13. Arons, T., Pnueli, A., Ruah, S. Xu, J., Zuck, L.: Parameterized verification with automatically computed inductive assertions. In: CAV’01, vol. 2102 of LNCS, pp. 221–234. Springer (2001)

  14. Ball, T., Podelski, A., Rajamani, S.K.: Boolean and cartesian abstraction for model checking C programs. STTT 5(1), 49–58 (2003)

    Article  MATH  Google Scholar 

  15. Baukus, K., Lakhnech, Y., Stahl, K.: Parameterized verification of a cache coherence protocol: Safety and liveness. In: VMCAI02, vol. 2294 of LNCS, pp 317–330. Springer (2002)

  16. Bingham, J.D., Hu, A.J.: Empirically efficient verification for a class of infinite-state systems. In: TACAS’05, vol. 3440 of LNCS, pp. 77–92. Springer (2005)

  17. Boigelot, B., Legay, A., Wolper, P.: Iterating transducers in the large. In: CAV’03, vol. 2725 of LNCS, pp. 223–235. Springer (2003)

  18. Bouajjani, A., Habermehl, P., Vojnar, T.: Abstract regular model checking. In: CAV’04, vol. 3114 of LNCS, pp. 372–386. Springer (2004)

  19. Clarke, E., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: VMCAI’06, vol. 3855 of LNCS, pp. 126–141. Springer (2006)

  20. Clarke, E.M., Emerson, A.E.: Design and synthesis of synchronization skeletons using branching-time temporal logic. Logic of Programs. Workshop, pp. 52–71. UK, UK, Springer-Verlag, London (1982)

  21. Clarke, E.M., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: VMCAI06, vol. 3855 of LNCS, pp. 126–141. Springer (2006)

  22. Dams, D., Lakhnech, Y., Steffen, M.: Iterating transducers. In: CAV’01, vol. 2102 of LNCS. Springer (2001)

  23. Delzanno, G.: Automatic verification of cache coherence protocols. In: Emerson, Sistla (eds.) CAV’00, vol. 1855 of LNCS, pp. 53–68. Springer (2000)

  24. Delzanno, G.: Verification of consistency protocols via infinite-state symbolic model checking. In: FORTE’00, vol. 183 of IFIP Conference Proceedings, pp. 171–186. Kluwer (2000)

  25. Delzanno, G., Raskin, J.-F.: Symbolic representation of upward-closed sets. In: TACAS’00, vol. 1785 of LNCS, pp. 426–441. Springer (2000)

  26. Delzanno, G., Raskin, J.-F., Van Begin, L.: Csts (covering sharing trees): Compact data structures for parameterized verification. In: Software Tools for Technology Transfer (2001)

  27. Emerson, E.A., Kahlon, V.: Reducing model checking of the many to the few. In: CADE’00, vol. 1831 of LNCS, pp. 236–254. Springer (2000)

  28. Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: POPL’95, pp. 85–94 (1995)

  29. Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: LICS’99. IEEE Computer Society (1999)

  30. Flanagan, C., Qadeer, S.: Thread-modular model checking. In: SPIN’03, vol. 2648 of LNCS, pp. 213–224. Springer (2003)

  31. Ganty, P., Meuter, C., Delzanno, G., Kalyon, G., Raskin, J.-F., Van Begin, L.: Symbolic data structure for sets of \(k\)-uples. Technical Report 570, Université Libre de Bruxelles, Belgium (2007)

  32. Ganty, P., Raskin, J.-F., Van Begin, L.: A Complete Abstract Interpretation Framework for Coverability Properties of WSTS. In: VMCAI06, vol. 3855 of LNCS, pp. 49–64. Springer (2006)

  33. Geeraerts, G., Raskin, J.-F., Van Begin, L.: Expand, enlarge and check... made efficient. In: CAV’05, vol. 3576 of LNCS, pp. 394–407. Springer (2005)

  34. Geeraerts, G., Raskin, J.-F., Van Begin, L.: Expand, enlarge and check: new algorithms for the coverability problem of WSTS. J. Comput. Syst. Sci. 72(1), 180–203 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  35. German, S.M., Sistla, A.P.: Reasoning about systems with many processes. J ACM 39(3), 675–735 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  36. Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Towards smt model checking of array-based systems. In: Automated Reasoning, vol. 5195 of LNCS, pp. 67–82. Springer (2008)

  37. Haziza, F.: Experiments | parameterized verification through view abstraction. http://www.it.uu.se/research/docs/fm/apv/parametrized/experiments/ (2013)

  38. Holzmann, G.J.: The model checker spin. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  39. IEEE Computer Society. IEEE standard for a high performance serial bus. Std 1394–1995 (1996)

  40. Kaiser, A., Kroening, D., Wahl, T.: Dynamic cutoff detection in parameterized concurrent programs. In: CAV’10, vol. 6174 of LNCS, pp. 645–659. Springer (2010)

  41. Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. Theor. Comput. Sci. 256, 93–112 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  42. Lynch, N.A., Shamir, B.-P.: Distributed algorithms, lecture notes for 6.852, fall 1992. Technical Report MIT/LCS/RSS-20, MIT (1993)

  43. Malkis, A., Podelski, A., Rybalchenko, A.: Thread-modular verification is cartesian abstract interpretation. In: ICTAC’06, vol. 4281 of LNCS, pp. 183–197. Springer (2006)

  44. Malkis, A., Podelski, A., Rybalchenko, A.: Precise thread-modular verification. In: SAS’07, vol. 4634 of LNCS, pp. 218–232. Springer (2007)

  45. Namjoshi, K.S.: Symmetry and completeness in the analysis of parameterized systems. In: VMCAI07, vol. 4349 of LNCS, pp. 299–313. Springer (2007)

  46. Pnueli, A., Xu, J., Zuck, L.: Liveness with (0,1,infinity)-counter abstraction. In: CAV’02, vol. 2404 of LNCS. Springer (2002)

  47. Pnueli, A., Ruah, S., Zuck, L.D.: Automatic deductive verification with invisible invariants. In: TACAS’01, vol. 2031 of LNCS, pp. 82–97. Springer (2001)

  48. Queille, J.-P., Sifakis, J.: Specification and verification of concurrent systems in cesar. In: Proceedings of the 5th Colloquium on International Symposium on Programming, pp. 337–351, London, UK, UK, Springer-Verlag (1982)

  49. Szymanski, B.K.: A simple solution to lamport’s concurrent programming problem with linear wait. Proceedings of the 2nd International Conference on Supercomputing. ICS ’88, pp. 621–626. NY, USA, ACM, New York (1988)

  50. Szymanski, B.K.: Mutual exclusion revisited. In: Proc. Fifth Jerusalem Conference on Information Technology, IEEE Computer Society Press, Los Alamitos, CA, pp. 110–117. IEEE Computer Society Press (1990)

  51. Touili, T.: Regular Model Checking using Widening Techniques. Electronic Notes in Theoretical Computer Science, 50(4), (2001) Proc. of VEPAS’01

  52. Vojnar, T.: Private communication, June (1993)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frédéric Haziza.

Additional information

P. Abdulla and F. Haziza: supported in part by the Uppsala Programming for Multicore Architectures Research Center (UPMARC). L. Holík: supported by the Czech Science Foundation (project 13-37876P).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Abdulla, P., Haziza, F. & Holík, L. Parameterized verification through view abstraction. Int J Softw Tools Technol Transfer 18, 495–516 (2016). https://doi.org/10.1007/s10009-015-0406-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-015-0406-x

Keywords

Navigation