Abstract
We address the verification problem for concurrent programs modeled as multi-pushdown systems (MPDS). In general, MPDS are Turing powerful and hence come along with undecidability of all basic decision problems. Because of this, several subclasses of MPDS have been proposed and studied in the literature (Atig et al. in LNCS, Springer, Berlin, 2005; La Torre et al. in LICS, IEEE, 2007; Lange and Lei in Inf Didact 8, 2009; Qadeer and Rehof in TACAS, LNCS, Springer, Berlin, 2005). In this paper, we propose the class of bounded-budget MPDS, which are restricted in the sense that each stack can perform an unbounded number of context switches only if its depth is below a given bound, and a bounded number of context switches otherwise. We show that the reachability problem for this subclass is Pspace-complete and that LTL-model-checking is Exptime-complete. Furthermore, we propose a code-to-code translation that inputs a concurrent program \(P\) and produces a sequential program \(P'\) such that running \(P\) under the budget-bounded restriction yields the same set of reachable states as running \(P'\). Moreover, detecting (fair) non-terminating executions in \(P\) can be reduced to LTL-Model-Checking of \(P'\). By leveraging standard sequential analysis tools, we have implemented a prototype tool and applied it on a set of benchmarks, showing the feasibility of our translation.
Similar content being viewed by others
References
Abdulla PA, Atig MF, Rezine O, Stenman J (2012) Multi-pushdown systems with budgets. In: Cabodi G, Singh S (eds) FMCAD. IEEE, pp 24–33
Atig MF, Bollig B, Habermehl P (2008) Emptiness of multi-pushdown automata is \(2\)ETIME-complete. In: DLT’08, LNCS, vol 5257. Springer, Berlin, pp 121–133
Atig MF, Bouajjani A, Emmi M, Lal A (2012) Detecting fair non-termination in multithreaded programs. In: Madhusudan P, S. A. Seshia (eds) CAV, lecture notes in computer science, vol 7358, pp 210–226
Atig MF, Bouajjani A, Kumar KN, Saivasan P (2012) Linear-time model-checking for multithreaded programs under scope-bounding. In: Chakraborty S, Mukund M (eds) ATVA, lecture notes in computer science. Springer, Berlin, pp 152–166
Atig MF, Kumar KN, Saivasan P (2013) Adjacent ordered multi-pushdown systems. In: Béal MP, Carton O (eds) Developments in language theory, lecture notes in computer science. Springer, Berlin, pp 58–69
Bouajjani A, Emmi M, Parlato G (2011) On sequentializing concurrent programs. In: SAS ’11, proceedings of the 18th international symposium on static analysis. Springer, Berlin, pp 129–145
Bouajjani A, Esparza J, Maler O (1997) Reachability analysis of pushdown automata: application to model-checking. In: CONCUR, LNCS, vol 1243. Springer, Berlin, pp 135–150
Bouajjani A, Maler O (1996) Reachability analysis of pushdown automata. In: Proceedings of international workshop on verification of infinite-state systems (Infinity’96)
Bouajjani A, Müller-Olm M, Touili T (2005) Regular symbolic analysis of dynamic networks of pushdown systems. In: CONCUR’05, LNCS
Breveglieri L, Cherubini A, Citrini C, Crespi Reghizzi S (1996) Multi-push-down languages and grammars. Int J Found Comput Sci 7(3):253–292
Clarke E, Kroening D, Lerda F (2004) A tool for checking ANSI-C programs. In: TACAS, LNCS vol 2988, pp 168–176
Cordeiro L, Morse J, Nicole D, Fischer B (2012) Context-bounded model checking with esbmc 1.17—(competition contribution). In: TACAS, LNCS, vol 7214, pp 534–537
Eilenberg S (1974) Automata, languages, and machines. Academic Press Inc, Orlando, FL
Emmi M, Qadeer S, Rakamarić Z (2011) Delay-bounded scheduling. In: POPL. ACM, pp 411–422
Esbmc concurrency benchmark (2009)
Esparza J, Kiefer S, Schwoon S (2006) Abstraction refinement with Craig interpolation and symbolic pushdown systems. In: TACAS, LNCS vol 3920, pp 489–503
Finkel A, Sangnier A (2008) Reversal-bounded counter machines revisited. In: MFCS, LNCS, vol 5162. Springer, Berlin, pp 323–334
Ginsburg S (1975) Algebraic and automata-theoretic properties of formal languages. Elsevier Science Inc., New York, NY
Harrison M (1978) Introduction to formal language theory. Addison-Wesley Publishing Company, Reading, MA
Herlihy M, Shavit N (2008) The art of multiprocessor programming. Morgan Kaufmann, Los Altos, CA
Hopcroft JE, Ullman JD (1979) Introduction to automata theory, languages and computation. Addison-Wesley, Reading, MA
La Torre S, Madhusudan P, Parlato G (2007) A robust class of context-sensitive languages. In: LICS. IEEE, pp 161–170
La Torre S, Madhusudan P, Parlato G (2009) Reducing context-bounded concurrent reachability to sequential reachability. In: CAV, LNCS, vol 5643. Springer, Berlin, pp 477–492
La Torre S, Madhusudan P, Parlato G (2010) Model-checking parameterized concurrent programs using linear interfaces. In: CAV, LNCS, vol 6174. Springer, Berlin, pp 629–644
La Torre S, Napoli M (2011) Reachability of multistack pushdown systems with scope-bounded matching relations. In: CONCUR, LNCS, vol 6901. Springer, Berlin, pp 203–218
La Torre S, Parlato G (2012) Scope-bounded multistack pushdown systems: fixed-point, sequentialization, and tree-width. Technical report, University of Southampton
Lahiri S, Lal A, Qadeer S (2012) Poirot microsoft research. http://research.microsoft.com/en-us/projects/verifierq/
Lal A, Reps T (2008) Reducing concurrent analysis under a context bound to sequential analysis. In: CAV, LNCS, vol 5123. Springer, Berlin, pp 37–51
Lal A, Reps TW (2009) Reducing concurrent analysis under a context bound to sequential analysis. Form Methods Syst Des 35(1):73–97
Lange M, Lei H (2009) To CNF or not to CNF ? An efficient yet presentable version of the CYK algorithm. Inf Didact 8:2008–2009
Morse J Personal communication
Musuvathi M, Qadeer S (2007) Iterative context bounding for systematic testing of multithreaded programs. In: PLDI. ACM, pp 446–455
Parlato G Personal communication
Pnueli A (1977) The temporal logic of programs. In: FOCS. IEEE, pp 46–57
Qadeer S, Rajamani SK, Rehof J (2004) Summarizing procedures in concurrent programs. In: ACM SIGPLAN Notices, vol 39, pp 245–255
Qadeer S, Rehof J (2005) Context-bounded model checking of concurrent software. In: TACAS, LNCS, vol 3440. Springer, Berlin, pp 93–107
Ramalingam G (2000) Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans Program Lang Syst 22(2):416–430
Sen K, Viswanathan M (2006) Model checking multithreaded programs with asynchronous atomic methods. In: CAV. LNCS 4144, pp 300–314
Suwimonteerabuth D (2009) Reachability in pushdown systems: algorithms and applications. Ph.D. thesis, Technische Universität München
Vardi MY (1988) A temporal fixpoint calculus. In: POPL, pp 250–259
Vardi MY (1995) Alternating automata and program verification. In: Computer science today, lecture notes in computer science, vol 1000. Springer, Berlin, pp 471–485
Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification (preliminary report). In: LICS. IEEE Computer Society LICS, pp 332–344
Acknowledgments
This work was supported in part by the Swedish Research Council and carried out within the Linnaeus centre of excellence UPMARC, Uppsala Programming for Multicore Architectures Research Center.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Abdulla, P.A., Atig, M.F., Rezine, O. et al. Budget-bounded model-checking pushdown systems. Form Methods Syst Des 45, 273–301 (2014). https://doi.org/10.1007/s10703-014-0207-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-014-0207-y