Context-Bounded Verification of Context-Free Specifications
Pascal Baumann, Moses Ganardi, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
Abstract
A fundamental problem in refinement verification is to check that the language of behaviors of an implementation is included in the language of the specification. We consider the refinement verification problem where the implementation is a multithreaded shared memory system modeled as a multistack pushdown automaton and the specification is an input-deterministic multistack pushdown language. Our main result shows that the context-bounded refinement problem, where we ask that all behaviors generated in runs of bounded number of context switches belong to a specification given by a Dyck language, is decidable and coNP-complete. The more general case of input-deterministic languages follows, with the same complexity. Context-bounding is essential since emptiness for multipushdown automata is already undecidable, and so is the refinement verification problem for the subclass of regular specifications. Input-deterministic languages capture many non-regular specifications of practical interest and our result opens the way for algorithmic analysis of these properties. The context-bounded refinement problem is coNP-hard already with deterministic regular specifications; our result demonstrates that the problem is not harder despite the stronger class of specifications. Our proof introduces several general techniques for formal languages and counter programs and shows that the search for counterexamples can be reduced in non-deterministic polynomial time to the satisfiability problem for existential Presburger arithmetic. These techniques are essential to ensure the coNP upper bound: existing techniques for regular specifications are not powerful enough for decidability, while simple reductions lead to problems that are either undecidable or have high complexities. As a special case, our decidability result gives an algorithmic verification technique to reason about reference counting and re-entrant locking in multithreaded programs.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 9679cba2-7f0b-4861-b75d-a93fc2e1b284Cited by top-tier papers4
- Slice closures of indexed languages and word equations with counting constraintsLaura Ciobanu, Georg ZetzscheLICS 2024 · 2 citations
- Bounded Treewidth, Multiple Context-Free Grammars, and Downward ClosuresC. Aiswarya, Pascal Baumann, Prakash Saivasan, Lia Schütze et al.POPL 2026 · 1 citation
- Reachability in Continuous Pushdown VASSA. R. Balasubramanian, Rupak Majumdar, Ramanathan S. Thinniyam, Georg ZetzschePOPL 2024 · 1 citation
- PVASS Reachability Is DecidableRoland Guttenberg, Eren Keskin, Roland MeyerLICS 2026
Related papers
- Context-bounded verification of liveness properties for multithreaded shared-memory programsPascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg ZetzschePOPL 2021 · 7 citations
- The decidability and complexity of interleaved bidirected Dyck reachabilityAdam Husted Kjelstrøm, Andreas PavlogiannisPOPL 2022 · 17 citations
- On the complexity of bidirected interleaved Dyck-reachabilityYuanbo Li, Qirun Zhang, Thomas W. RepsPOPL 2021 · 12 citations
- Fast graph simplification for interleaved Dyck-reachabilityYuanbo Li, Qirun Zhang, Thomas W. RepsPLDI 2020 · 30 citations
- SyTeCi: automating contextual equivalence for higher-order programs with referencesGuilhem JaberPOPL 2020 · 16 citations
