Formal Methods in System Design

, Volume 50, Issue 2–3, pp 140–167 | Cite as

Model checking parameterized asynchronous shared-memory systems

  • Antoine Durand-Gasselin
  • Javier Esparza
  • Pierre Ganty
  • Rupak Majumdar
Article

Abstract

We characterize the complexity of liveness verification for parameterized systems consisting of a leader process and arbitrarily many anonymous and identical contributor processes. Processes communicate through a shared, bounded-value register. While each operation on the register is atomic, there is no synchronization primitive to execute a sequence of operations atomically. We analyze the case in which processes are modeled by finite-state machines or pushdown machines and the property is given by a Büchi automaton over the alphabet of read and write actions of the leader. We show that the problem is decidable, and has a surprisingly low complexity: it is NP-complete when all processes are finite-state machines, and is in NEXPTIME (and PSPACE-hard) when they are pushdown machines. This complexity is lower than for the non-parameterized case: liveness verification of finitely many finite-state machines is PSPACE-complete, and undecidable for two pushdown machines. For finite-state machines, our proofs characterize infinite behaviors using existential abstraction and semilinear constraints. For pushdown machines, we show how contributor computations of high stack height can be simulated by computations of many contributors, each with low stack height. Together, our results characterize the complexity of verification for parameterized systems under the assumptions of anonymity and asynchrony.

Keywords

Model checking Shared-memory systems Parametrized verification 

References

  1. 1.
    Abdulla PA, Bertrand N, Rabinovich A, Schnoebelen P (2005) Verification of probabilistic systems with faulty communication. Inf Comput 202(2):105–228MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Abdulla PA, Cerans K, Jonsson B, Tsay Y-K (1996) General decidability theorems for infinite-state systems. In: LICS ’96, IEEE Computer Society, Washington, DC, pp 313–321Google Scholar
  3. 3.
    Abdulla PA, Jonsson B (1996) Verifying programs with unreliable channels. Inf Comput 127(2):91–101MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Aminof B, Kotek T, Rubin S, Spegni F, Veith H (2014) Parameterized model checking of rendezvous systems. In: CONCUR ’14 Proceedings of the 25th International Conference on Concurrency Theory, vol 704 of LNCS. Springer, Heidelberg, pp 109–124Google Scholar
  5. 5.
    Angluin D, Aspnes J, Eisenstat D, Ruppert E (2007) The computational power of population protocols. Distrib Comput 20(4):279–304CrossRefMATHGoogle Scholar
  6. 6.
    Apt KR, Kozen DC (1986) Limits for automatic verification of finite-state concurrent systems. Inf Process Lett 22(6):307–309MathSciNetCrossRefGoogle Scholar
  7. 7.
    Bouajjani A, Esparza J, Maler O (1997) Reachability analysis of pushdown automata: application to model-checking. In: CONCUR ’97 Proceedings of the 8th International Conference on Concurrency Theory, vol 1243 of LNCS. Springer, Heidelberg, pp 135–150Google Scholar
  8. 8.
    Esparza J, Finkel A and Mayr R (1999) On the verification of broadcast protocols. In: LICS ’99, IEEE Computer Society, Washington, DC, pp 352–359Google Scholar
  9. 9.
    Esparza J, Ganty P, Majumdar R (2013) Parameterized verification of asynchronous shared-memory systems. In: CAV ’13 Proceedings of the 23rd International Conference on Computer Aided Verification, vol 8044 of LNCS. Springer, Heidelberg, pp 124–140Google Scholar
  10. 10.
    Esparza J, Ganty P, Majumdar R (2016) Parameterized verification of asynchronous shared-memory systems. J ACM 63(1):10MathSciNetCrossRefGoogle Scholar
  11. 11.
    German SM, Sistla AP (1992) Reasoning about systems with many processes. J ACM 39(3):675–735MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Grädel E (1988) Subclasses of presburger arithmetic and the polynomial-time hierarchy. Theor Comput Sci 56:289–301MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Hague M (2011) Parameterised pushdown systems with non-atomic writes. In: Proceedings of FSTTCS ’11, vol 13 of LIPIcs. Schloss Dagstuhl, Wadern, pp 457–468Google Scholar
  14. 14.
    Meyer R (2008) On boundedness in depth in the pi-calculus. In: Proceedings of IFIP TCS 2008, vol 273 of IFIP. Springer, Heidelberg, pp 477–489Google Scholar
  15. 15.
    Pnueli A, Xu J, Zuck LD (2002) Liveness with (0, 1, infty)-counter abstraction. In: CAV ’02 Proceedings of 14th International Conference on Computer Aided Verification, vol 2404 of LNCS. Springer, Heidelberg, pp 107–122Google Scholar
  16. 16.
    Torre SL, Muscholl A, Walukiewicz I (2015) Safety of parametrized asynchronous shared-memory systems is almost always decidable. In: CONCUR ’15 Proceedings of 26th International Conference on Concurrency Theory, vol 42 of Leibniz International Proceedings in Informatics (LIPIcs), Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Wadern, pp 72–84Google Scholar
  17. 17.
    Verma KN, Seidl H, Schwentick T (2005) On the complexity of equational horn clauses. In: CADE ’05 20th International Conference on Automated Deduction, vol 1831 of LNCS. Springer, Heidelberg, pp 337–352Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Antoine Durand-Gasselin
    • 1
  • Javier Esparza
    • 1
  • Pierre Ganty
    • 2
  • Rupak Majumdar
    • 3
  1. 1.TU MunichMunichGermany
  2. 2.IMDEA Software InstituteMadridSpain
  3. 3.MPI-SWSKaiserslauternGermany

Personalised recommendations