Formal Methods in System Design

, Volume 45, Issue 2, pp 273–301 | Cite as

Budget-bounded model-checking pushdown systems

  • Parosh Aziz Abdulla
  • Mohamed Faouzi AtigEmail author
  • Othmane Rezine
  • Jari Stenman


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.


Concurrent pushdown systems Verification problems LTL-model-checking Reachability problem Recursive programs 



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.


  1. 1.
    Abdulla PA, Atig MF, Rezine O, Stenman J (2012) Multi-pushdown systems with budgets. In: Cabodi G, Singh S (eds) FMCAD. IEEE, pp 24–33Google Scholar
  2. 2.
    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–133Google Scholar
  3. 3.
    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–226Google Scholar
  4. 4.
    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–166Google Scholar
  5. 5.
    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–69Google Scholar
  6. 6.
    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–145Google Scholar
  7. 7.
    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–150Google Scholar
  8. 8.
    Bouajjani A, Maler O (1996) Reachability analysis of pushdown automata. In: Proceedings of international workshop on verification of infinite-state systems (Infinity’96)Google Scholar
  9. 9.
    Bouajjani A, Müller-Olm M, Touili T (2005) Regular symbolic analysis of dynamic networks of pushdown systems. In: CONCUR’05, LNCSGoogle Scholar
  10. 10.
    Breveglieri L, Cherubini A, Citrini C, Crespi Reghizzi S (1996) Multi-push-down languages and grammars. Int J Found Comput Sci 7(3):253–292CrossRefzbMATHGoogle Scholar
  11. 11.
    Clarke E, Kroening D, Lerda F (2004) A tool for checking ANSI-C programs. In: TACAS, LNCS vol 2988, pp 168–176Google Scholar
  12. 12.
    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–537Google Scholar
  13. 13.
    Eilenberg S (1974) Automata, languages, and machines. Academic Press Inc, Orlando, FLzbMATHGoogle Scholar
  14. 14.
    Emmi M, Qadeer S, Rakamarić Z (2011) Delay-bounded scheduling. In: POPL. ACM, pp 411–422Google Scholar
  15. 15.
    Esbmc concurrency benchmark (2009)Google Scholar
  16. 16.
    Esparza J, Kiefer S, Schwoon S (2006) Abstraction refinement with Craig interpolation and symbolic pushdown systems. In: TACAS, LNCS vol 3920, pp 489–503Google Scholar
  17. 17.
    Finkel A, Sangnier A (2008) Reversal-bounded counter machines revisited. In: MFCS, LNCS, vol 5162. Springer, Berlin, pp 323–334Google Scholar
  18. 18.
    Ginsburg S (1975) Algebraic and automata-theoretic properties of formal languages. Elsevier Science Inc., New York, NYzbMATHGoogle Scholar
  19. 19.
    Harrison M (1978) Introduction to formal language theory. Addison-Wesley Publishing Company, Reading, MAzbMATHGoogle Scholar
  20. 20.
    Herlihy M, Shavit N (2008) The art of multiprocessor programming. Morgan Kaufmann, Los Altos, CAGoogle Scholar
  21. 21.
    Hopcroft JE, Ullman JD (1979) Introduction to automata theory, languages and computation. Addison-Wesley, Reading, MAzbMATHGoogle Scholar
  22. 22.
  23. 23.
    La Torre S, Madhusudan P, Parlato G (2007) A robust class of context-sensitive languages. In: LICS. IEEE, pp 161–170Google Scholar
  24. 24.
    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–492Google Scholar
  25. 25.
    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–644Google Scholar
  26. 26.
    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–218Google Scholar
  27. 27.
    La Torre S, Parlato G (2012) Scope-bounded multistack pushdown systems: fixed-point, sequentialization, and tree-width. Technical report, University of SouthamptonGoogle Scholar
  28. 28.
    Lahiri S, Lal A, Qadeer S (2012) Poirot microsoft research.
  29. 29.
    Lal A, Reps T (2008) Reducing concurrent analysis under a context bound to sequential analysis. In: CAV, LNCS, vol 5123. Springer, Berlin, pp 37–51Google Scholar
  30. 30.
    Lal A, Reps TW (2009) Reducing concurrent analysis under a context bound to sequential analysis. Form Methods Syst Des 35(1):73–97CrossRefzbMATHGoogle Scholar
  31. 31.
    Lange M, Lei H (2009) To CNF or not to CNF ? An efficient yet presentable version of the CYK algorithm. Inf Didact 8:2008–2009Google Scholar
  32. 32.
    Morse J Personal communicationGoogle Scholar
  33. 33.
    Musuvathi M, Qadeer S (2007) Iterative context bounding for systematic testing of multithreaded programs. In: PLDI. ACM, pp 446–455Google Scholar
  34. 34.
    Parlato G Personal communicationGoogle Scholar
  35. 35.
    Pnueli A (1977) The temporal logic of programs. In: FOCS. IEEE, pp 46–57Google Scholar
  36. 36.
    Qadeer S, Rajamani SK, Rehof J (2004) Summarizing procedures in concurrent programs. In: ACM SIGPLAN Notices, vol 39, pp 245–255Google Scholar
  37. 37.
    Qadeer S, Rehof J (2005) Context-bounded model checking of concurrent software. In: TACAS, LNCS, vol 3440. Springer, Berlin, pp 93–107Google Scholar
  38. 38.
    Ramalingam G (2000) Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans Program Lang Syst 22(2):416–430CrossRefGoogle Scholar
  39. 39.
    Sen K, Viswanathan M (2006) Model checking multithreaded programs with asynchronous atomic methods. In: CAV. LNCS 4144, pp 300–314Google Scholar
  40. 40.
    Suwimonteerabuth D (2009) Reachability in pushdown systems: algorithms and applications. Ph.D. thesis, Technische Universität MünchenGoogle Scholar
  41. 41.
    Vardi MY (1988) A temporal fixpoint calculus. In: POPL, pp 250–259Google Scholar
  42. 42.
    Vardi MY (1995) Alternating automata and program verification. In: Computer science today, lecture notes in computer science, vol 1000. Springer, Berlin, pp 471–485Google Scholar
  43. 43.
    Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification (preliminary report). In: LICS. IEEE Computer Society LICS, pp 332–344Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Parosh Aziz Abdulla
    • 1
  • Mohamed Faouzi Atig
    • 1
    Email author
  • Othmane Rezine
    • 1
  • Jari Stenman
    • 1
  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden

Personalised recommendations