View Abstraction for Systems with Component Identities

  • Gavin LoweEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10951)


The parameterised verification problem seeks to verify all members of some family of systems. We consider the following instance: each system is composed of an arbitrary number of similar component processes, together with a fixed number of server processes; processes communicate via synchronous message passing; in particular, each component process has an identity, which may be included in messages, and passed to third parties. We extend Abdulla et al.’s technique of view abstraction, together with techniques based on symmetry reduction, to this setting. We give an algorithm and implementation that allows such systems to be verified for an arbitrary number of components. We show how this technique can be applied to a concurrent datatype built from reference-linked nodes, such as a linked list. Further, we show how to capture the specification of a queue or of a stack.



I would like to thank Tom Gibson-Robinson for useful discussions concerning this work, and for extending the FDR4 API to support various functions necessary for the implementation from Sect. 6.1.


  1. 1.
    Abdulla, P., Haziza, F., Holík, L.: Parameterized verification through view abstraction. Int. J. Softw. Tools Technol. Transf. 18, 495–516 (2016)CrossRefGoogle Scholar
  2. 2.
    Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Regular model checking made simple and effcient\(^{*}\). In: Brim, L., Křetínský, M., Kučera, A., Jančar, P. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 116–131. Springer, Heidelberg (2002). Scholar
  3. 3.
    Abdulla, P.A., Jonsson, B., Nilsson, M., Saksena, M.: A survey of regular model checking. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 35–48. Springer, Heidelberg (2004). Scholar
  4. 4.
    Abdullah, P., Haziza, F., Holík, L., Jonsson, B., Rezine, A.: An integrated specification and verification technique for highly concurrent data structures. Int. J. Softw. Tools Technol. Transf. 19, 549–563 (2017)CrossRefGoogle Scholar
  5. 5.
    Apt, K.R., Kozen, D.C.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Bouajjani, A., Habermehl, P., Vojnar, T.: Abstract regular model checking. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 372–386. Springer, Heidelberg (2004). Scholar
  7. 7.
    Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular model checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 403–418. Springer, Heidelberg (2000). Scholar
  8. 8.
    Bošnački, D., Dams, D., Holenderski, L.: Symmetric spin. Int. J. Softw. Tools Technol. Transf. 4, 92–106 (2002)CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., Emerson, E.A., Jha, S., Sistla, A.P.: Symmetry reductions in model checking. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 147–158. Springer, Heidelberg (1998). Scholar
  10. 10.
    Clarke, E.M., Enders, R., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. Formal Methods Syst. Des. 9, 77–104 (1996)CrossRefGoogle Scholar
  11. 11.
    Clarke, E.M., Grumberg, O.: Avoiding the state explosion problem in temporal logic model checking. In: Proceedings of the 6th Annual Association for Computing Machinery Symposium on Principles of Distributed Computing, pp. 294–303 (1987)Google Scholar
  12. 12.
    Dams, D., Lakhnech, Y., Steffen, M.: Iterating transducers. J. Logic Algebraic Program. 52–53, 109–127 (2002)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: Proceedings of the Symposium on Principles of Programming Languages (POPL 1995) (1995)Google Scholar
  14. 14.
    Emerson, E.A., Sistla, A.P.: Symmetry and model checking. Formal Methods Syst. Des. 9, 105–131 (1996)CrossRefGoogle Scholar
  15. 15.
    German, S.M., Sistla, A.P.: Reasoning about systems with many processes. J. ACM 39(3), 675–735 (1992)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3: a parallel refinement checker for CSP. Int. J. Softw. Tools Technol. Transf. 18(2), 149–167 (2015)CrossRefGoogle Scholar
  17. 17.
    Gibson-Robinson, T., Lowe, G.: Symmetry Reduction in CSP Model Checking (2017, Submitted for publication).
  18. 18.
    Goldsmith, M., Moffat, N., Roscoe, B., Whitworth, T., Zakiuddin, I.: Watchdog transformations for property-oriented model-checking. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 600–616. Springer, Heidelberg (2003). Scholar
  19. 19.
    Ip, C.N., Dill, D.L.: Better verification through symmetry. Formal Methods Syst. Des. 9, 41–75 (1996)CrossRefGoogle Scholar
  20. 20.
    Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. Theoret. Comput. Sci. 256, 93–112 (2001)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Lowe, G.: Analysing lock-free linearizable datatypes using CSP. In: Gibson-Robinson, T., Hopcroft, P., Lazić, R. (eds.) Concurrency, Security, and Puzzles. LNCS, vol. 10160, pp. 162–184. Springer, Cham (2017). Scholar
  22. 22.
    Lubachevsky, B.: An approach to automating the verification of compact parallel coordination programs. Acta Inform. 21(2), 125–169 (1984)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Mazur, T., Lowe, G.: CSP-based counter abstraction for systems with node identifiers. Sci. Comput. Program. 81, 3–52 (2014)CrossRefGoogle Scholar
  24. 24.
    Michael, M., Scott, M.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, pp. 267–275 (1996)Google Scholar
  25. 25.
    Pnueli, A., Xu, J., Zuck, L.: Liveness with \((0,1, \infty )\)-counter abstraction. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 107–122. Springer, Heidelberg (2002). Scholar
  26. 26.
    Roscoe, A.W.: Understanding Concurrent Systems. Springer, London (2010). Scholar
  27. 27.
    Roscoe, A.W., Creese, S.: Data independent induction over structured networks. In: Proceedings of PDPTA 2000 (2000)Google Scholar
  28. 28.
    Sistla, A.P., Gyuris, V., Emerson, E.A.: SMC: a symmetry-based model checker for verification of safety and linveness properties. ACM Trans. Softw. Eng. Methodol. 9(2), 133–166 (2000)CrossRefGoogle Scholar
  29. 29.
    Touili, T.: Regular model checking using widening techniques. Electr. Notes Theoret. Comput. Sci. 50(4), 342–356 (2001). Proceedings of VEPAS 2001CrossRefGoogle Scholar
  30. 30.
    Wolper, P.: Expressing interesting properties of programs in propositional temporal logic. In: Thirteenth Annual ACM Symposium on Principles of Programming Languages, pp. 184–193 (1986)Google Scholar
  31. 31.
    Wolper, P., Boigelot, B.: Verifying systems with infinite but regular state spaces. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998). Scholar
  32. 32.
    Wolper, P., Lovinfosse, V.: Verifying properties of large sets of processes with network invariants. In: Sifakis, J. (ed.) Automatic Verification Methods for Finite State Systems. LNCS, vol. 407, pp. 68–80. Springer, Heidelberg (1989). Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of OxfordOxfordUK

Personalised recommendations