Skip to main content
Log in

Budget-bounded model-checking pushdown systems

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  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–33

  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–133

  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–226

  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–166

    Google Scholar 

  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–69

  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–145

  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–150

  8. Bouajjani A, Maler O (1996) Reachability analysis of pushdown automata. In: Proceedings of international workshop on verification of infinite-state systems (Infinity’96)

  9. Bouajjani A, Müller-Olm M, Touili T (2005) Regular symbolic analysis of dynamic networks of pushdown systems. In: CONCUR’05, LNCS

  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–292

    Article  MATH  Google Scholar 

  11. Clarke E, Kroening D, Lerda F (2004) A tool for checking ANSI-C programs. In: TACAS, LNCS vol 2988, pp 168–176

  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–537

  13. Eilenberg S (1974) Automata, languages, and machines. Academic Press Inc, Orlando, FL

    MATH  Google Scholar 

  14. Emmi M, Qadeer S, Rakamarić Z (2011) Delay-bounded scheduling. In: POPL. ACM, pp 411–422

  15. Esbmc concurrency benchmark (2009)

  16. Esparza J, Kiefer S, Schwoon S (2006) Abstraction refinement with Craig interpolation and symbolic pushdown systems. In: TACAS, LNCS vol 3920, pp 489–503

  17. Finkel A, Sangnier A (2008) Reversal-bounded counter machines revisited. In: MFCS, LNCS, vol 5162. Springer, Berlin, pp 323–334

  18. Ginsburg S (1975) Algebraic and automata-theoretic properties of formal languages. Elsevier Science Inc., New York, NY

    MATH  Google Scholar 

  19. Harrison M (1978) Introduction to formal language theory. Addison-Wesley Publishing Company, Reading, MA

    MATH  Google Scholar 

  20. Herlihy M, Shavit N (2008) The art of multiprocessor programming. Morgan Kaufmann, Los Altos, CA

    Google Scholar 

  21. Hopcroft JE, Ullman JD (1979) Introduction to automata theory, languages and computation. Addison-Wesley, Reading, MA

    MATH  Google Scholar 

  22. http://user.it.uu.se/jarst116/fmcad2012/ (2012)

  23. La Torre S, Madhusudan P, Parlato G (2007) A robust class of context-sensitive languages. In: LICS. IEEE, pp 161–170

  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–492

  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–644

  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–218

  27. La Torre S, Parlato G (2012) Scope-bounded multistack pushdown systems: fixed-point, sequentialization, and tree-width. Technical report, University of Southampton

  28. Lahiri S, Lal A, Qadeer S (2012) Poirot microsoft research. http://research.microsoft.com/en-us/projects/verifierq/

  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–51

  30. Lal A, Reps TW (2009) Reducing concurrent analysis under a context bound to sequential analysis. Form Methods Syst Des 35(1):73–97

    Article  MATH  Google Scholar 

  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–2009

  32. Morse J Personal communication

  33. Musuvathi M, Qadeer S (2007) Iterative context bounding for systematic testing of multithreaded programs. In: PLDI. ACM, pp 446–455

  34. Parlato G Personal communication

  35. Pnueli A (1977) The temporal logic of programs. In: FOCS. IEEE, pp 46–57

  36. Qadeer S, Rajamani SK, Rehof J (2004) Summarizing procedures in concurrent programs. In: ACM SIGPLAN Notices, vol 39, pp 245–255

  37. Qadeer S, Rehof J (2005) Context-bounded model checking of concurrent software. In: TACAS, LNCS, vol 3440. Springer, Berlin, pp 93–107

  38. Ramalingam G (2000) Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans Program Lang Syst 22(2):416–430

    Article  Google Scholar 

  39. Sen K, Viswanathan M (2006) Model checking multithreaded programs with asynchronous atomic methods. In: CAV. LNCS 4144, pp 300–314

  40. Suwimonteerabuth D (2009) Reachability in pushdown systems: algorithms and applications. Ph.D. thesis, Technische Universität München

  41. Vardi MY (1988) A temporal fixpoint calculus. In: POPL, pp 250–259

  42. Vardi MY (1995) Alternating automata and program verification. In: Computer science today, lecture notes in computer science, vol 1000. Springer, Berlin, pp 471–485

  43. Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification (preliminary report). In: LICS. IEEE Computer Society LICS, pp 332–344

Download references

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

Authors

Corresponding author

Correspondence to Mohamed Faouzi Atig.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-014-0207-y

Keywords

Navigation