Budget-bounded model-checking pushdown systems

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$$P and produces a sequential program $$P'$$P′ such that running $$P$$P under the budget-bounded restriction yields the same set of reachable states as running $$P'$$P′. Moreover, detecting (fair) non-terminating executions in $$P$$P can be reduced to LTL-Model-Checking of $$P'$$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.

[1]  Mohamed Faouzi Atig,et al.  Adjacent Ordered Multi-Pushdown Systems , 2013, Int. J. Found. Comput. Sci..

[2]  Luca Breveglieri,et al.  Multi-Push-Down Languages and Grammars , 1996, Int. J. Found. Comput. Sci..

[3]  Moshe Y. Vardi A temporal fixpoint calculus , 1988, POPL '88.

[4]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[5]  Zvonimir Rakamaric,et al.  Delay-bounded scheduling , 2011, POPL '11.

[6]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[7]  Salvatore La Torre,et al.  A Robust Class of Context-Sensitive Languages , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[8]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[9]  Margherita Napoli,et al.  Reachability of Multistack Pushdown Systems with Scope-Bounded Matching Relations , 2011, CONCUR.

[10]  Salvatore La Torre,et al.  Reducing Context-Bounded Concurrent Reachability to Sequential Reachability , 2009, CAV.

[11]  Benedikt Bollig,et al.  Emptiness of Multi-pushdown Automata Is 2ETIME-Complete , 2008, Developments in Language Theory.

[12]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[13]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[14]  Thomas W. Reps,et al.  Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis , 2008, CAV.

[15]  Javier Esparza,et al.  Abstraction Refinement with Craig Interpolation and Symbolic Pushdown Systems , 2006, J. Satisf. Boolean Model. Comput..

[16]  Madan Musuvathi,et al.  Iterative context bounding for systematic testing of multithreaded programs , 2007, PLDI '07.

[17]  Ahmed Bouajjani,et al.  On Sequentializing Concurrent Programs , 2011, SAS.

[18]  Michael A. Harrison,et al.  Introduction to formal language theory , 1978 .

[19]  Lucas C. Cordeiro,et al.  Context-Bounded Model Checking with ESBMC 1.17 - (Competition Contribution) , 2012, TACAS.

[20]  Salvatore La Torre,et al.  Scope-bounded Multistack Pushdown Systems: Fixed-Point, Sequentialization, and Tree-Width , 2012, FSTTCS.

[21]  Tayssir Touili,et al.  Regular Symbolic Analysis of Dynamic Networks of Pushdown Systems , 2005, CONCUR.

[22]  Seymour Ginsburg,et al.  Algebraic and Automata Theoretic Properties of Formal Languages , 1975 .

[23]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[24]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[25]  Mohamed Faouzi Atig,et al.  Detecting Fair Non-termination in Multithreaded Programs , 2012, CAV.

[26]  Mahesh Viswanathan,et al.  Model Checking Multithreaded Programs with Asynchronous Atomic Methods , 2006, CAV.

[27]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[28]  Salvatore La Torre,et al.  Model-Checking Parameterized Concurrent Programs Using Linear Interfaces , 2010, CAV.

[29]  Moshe Y. Vardi Alternating Automata and Program Verification , 1995, Computer Science Today.

[30]  Dejvuth Suwimonteerabuth Reachability in pushdown systems: algorithms and applications , 2009 .

[31]  Mohamed Faouzi Atig,et al.  Linear-Time Model-Checking for Multithreaded Programs under Scope-Bounding , 2012, ATVA.

[32]  Hans Leiß,et al.  To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm , 2009, Informatica Didact..

[33]  Jakob Rehof,et al.  Summarizing procedures in concurrent programs , 2004, POPL.

[34]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[35]  Parosh Aziz Abdulla,et al.  Multi-pushdown systems with budgets , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

[36]  Alain Finkel,et al.  Reversal-Bounded Counter Machines Revisited , 2008, MFCS.