Model checking parameterized asynchronous shared-memory systems

Springer Science and Business Media LLC - Tập 50 - Trang 140-167 - 2016
Antoine Durand-Gasselin1, Javier Esparza1, Pierre Ganty2, Rupak Majumdar3
1TU Munich, Munich, Germany
2IMDEA Software Institute, Madrid, Spain
3MPI-SWS, Kaiserslautern, Germany

Tóm tắt

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.

Tài liệu tham khảo

Abdulla PA, Bertrand N, Rabinovich A, Schnoebelen P (2005) Verification of probabilistic systems with faulty communication. Inf Comput 202(2):105–228 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–321 Abdulla PA, Jonsson B (1996) Verifying programs with unreliable channels. Inf Comput 127(2):91–101 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–124 Angluin D, Aspnes J, Eisenstat D, Ruppert E (2007) The computational power of population protocols. Distrib Comput 20(4):279–304 Apt KR, Kozen DC (1986) Limits for automatic verification of finite-state concurrent systems. Inf Process Lett 22(6):307–309 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–150 Esparza J, Finkel A and Mayr R (1999) On the verification of broadcast protocols. In: LICS ’99, IEEE Computer Society, Washington, DC, pp 352–359 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–140 Esparza J, Ganty P, Majumdar R (2016) Parameterized verification of asynchronous shared-memory systems. J ACM 63(1):10 German SM, Sistla AP (1992) Reasoning about systems with many processes. J ACM 39(3):675–735 Grädel E (1988) Subclasses of presburger arithmetic and the polynomial-time hierarchy. Theor Comput Sci 56:289–301 Hague M (2011) Parameterised pushdown systems with non-atomic writes. In: Proceedings of FSTTCS ’11, vol 13 of LIPIcs. Schloss Dagstuhl, Wadern, pp 457–468 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–489 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–122 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–84 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–352