Advertisement

Parameterized verification through view abstraction

  • Parosh Abdulla
  • Frédéric Haziza
  • Lukáš Holík
PV 2014

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.

Keywords

Parameterized systems Safety Small model properties View abstraction 

References

  1. 1.
    Abdulla, P.A.: Well (and better) quasi-ordered transition systems. Bull. Symb. Logic 16(4), 457–515 (2010)MathSciNetCrossRefMATHGoogle Scholar
  2. 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)Google Scholar
  3. 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)Google Scholar
  4. 4.
    Abdulla, P.A., Haziza, F., Holík, L.: Block me if you can!—context-sensitive parameterized verification. In: SAS14, pp. 1–17 (2014)Google Scholar
  5. 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)Google Scholar
  6. 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)Google Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 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)Google Scholar
  11. 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)Google Scholar
  12. 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)Google Scholar
  13. 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)Google Scholar
  14. 14.
    Ball, T., Podelski, A., Rajamani, S.K.: Boolean and cartesian abstraction for model checking C programs. STTT 5(1), 49–58 (2003)CrossRefMATHGoogle Scholar
  15. 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)Google Scholar
  16. 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)Google Scholar
  17. 17.
    Boigelot, B., Legay, A., Wolper, P.: Iterating transducers in the large. In: CAV’03, vol. 2725 of LNCS, pp. 223–235. Springer (2003)Google Scholar
  18. 18.
    Bouajjani, A., Habermehl, P., Vojnar, T.: Abstract regular model checking. In: CAV’04, vol. 3114 of LNCS, pp. 372–386. Springer (2004)Google Scholar
  19. 19.
    Clarke, E., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: VMCAI’06, vol. 3855 of LNCS, pp. 126–141. Springer (2006)Google Scholar
  20. 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)Google Scholar
  21. 21.
    Clarke, E.M., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: VMCAI06, vol. 3855 of LNCS, pp. 126–141. Springer (2006)Google Scholar
  22. 22.
    Dams, D., Lakhnech, Y., Steffen, M.: Iterating transducers. In: CAV’01, vol. 2102 of LNCS. Springer (2001)Google Scholar
  23. 23.
    Delzanno, G.: Automatic verification of cache coherence protocols. In: Emerson, Sistla (eds.) CAV’00, vol. 1855 of LNCS, pp. 53–68. Springer (2000)Google Scholar
  24. 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)Google Scholar
  25. 25.
    Delzanno, G., Raskin, J.-F.: Symbolic representation of upward-closed sets. In: TACAS’00, vol. 1785 of LNCS, pp. 426–441. Springer (2000)Google Scholar
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 28.
    Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: POPL’95, pp. 85–94 (1995)Google Scholar
  29. 29.
    Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: LICS’99. IEEE Computer Society (1999)Google Scholar
  30. 30.
    Flanagan, C., Qadeer, S.: Thread-modular model checking. In: SPIN’03, vol. 2648 of LNCS, pp. 213–224. Springer (2003)Google Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 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)Google Scholar
  34. 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)MathSciNetCrossRefMATHGoogle Scholar
  35. 35.
    German, S.M., Sistla, A.P.: Reasoning about systems with many processes. J ACM 39(3), 675–735 (1992)MathSciNetCrossRefMATHGoogle Scholar
  36. 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)Google Scholar
  37. 37.
    Haziza, F.: Experiments | parameterized verification through view abstraction. http://www.it.uu.se/research/docs/fm/apv/parametrized/experiments/ (2013)
  38. 38.
    Holzmann, G.J.: The model checker spin. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)MathSciNetCrossRefGoogle Scholar
  39. 39.
    IEEE Computer Society. IEEE standard for a high performance serial bus. Std 1394–1995 (1996)Google Scholar
  40. 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)Google Scholar
  41. 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)MathSciNetCrossRefMATHGoogle Scholar
  42. 42.
    Lynch, N.A., Shamir, B.-P.: Distributed algorithms, lecture notes for 6.852, fall 1992. Technical Report MIT/LCS/RSS-20, MIT (1993)Google Scholar
  43. 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)Google Scholar
  44. 44.
    Malkis, A., Podelski, A., Rybalchenko, A.: Precise thread-modular verification. In: SAS’07, vol. 4634 of LNCS, pp. 218–232. Springer (2007)Google Scholar
  45. 45.
    Namjoshi, K.S.: Symmetry and completeness in the analysis of parameterized systems. In: VMCAI07, vol. 4349 of LNCS, pp. 299–313. Springer (2007)Google Scholar
  46. 46.
    Pnueli, A., Xu, J., Zuck, L.: Liveness with (0,1,infinity)-counter abstraction. In: CAV’02, vol. 2404 of LNCS. Springer (2002)Google Scholar
  47. 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)Google Scholar
  48. 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)Google Scholar
  49. 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)Google Scholar
  50. 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)Google Scholar
  51. 51.
    Touili, T.: Regular Model Checking using Widening Techniques. Electronic Notes in Theoretical Computer Science, 50(4), (2001) Proc. of VEPAS’01Google Scholar
  52. 52.
    Vojnar, T.: Private communication, June (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Parosh Abdulla
    • 1
  • Frédéric Haziza
    • 1
  • Lukáš Holík
    • 2
  1. 1.Uppsala UniversityUppsalaSweden
  2. 2.Brno University of TechnologyBrnoCzech Republic

Personalised recommendations