Decidable models of integer-manipulating programs with recursive parallelism (technical report)
Matthew Hague, Anthony Widjaja Lin

TL;DR
This paper introduces a decidable underapproximation model for verifying safety in multithreaded programs with recursive parallelism and unbounded integer variables, leveraging restrictions like weak control and reversal bounds.
Contribution
It proposes a novel decidable framework combining hierarchical thread structures with bounded control and counters, extending previous models and enabling practical verification via SMT solvers.
Findings
Reachability is NP-complete under the proposed restrictions.
The model generalizes known decidable systems.
Verification reduces to satisfiability in existential Presburger formulas.
Abstract
We study safety verification for multithreaded programs with recursive parallelism (i.e. unbounded thread creation and recursion) as well as unbounded integer variables. Since the threads in each program configuration are structured in a hierarchical fashion, our model is state-extended ground-tree rewrite systems equipped with shared unbounded integer counters that can be incremented, decremented, and compared against an integer constant. Since the model is Turing-complete, we propose a decidable underapproximation. First, using a restriction similar to context-bounding, we underapproximate the global control by a weak global control (i.e. DAGs possibly with self-loops), thereby limiting the number of synchronisations between different threads. Second, we bound the number of reversals between non-decrementing and non-incrementing modes of the counters. Under this restriction, we show…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Security and Verification in Computing
