Fine-Grained Complexity of Safety Verification
Peter Chini, Roland Meyer, Prakash Saivasan

TL;DR
This paper investigates the computational complexity of safety verification problems in shared memory concurrent programs, providing new algorithms and lower bounds based on ETH and Set Cover, and analyzing kernelization limits.
Contribution
It introduces fixed-parameter tractable algorithms for Leader Contributor Reachability and Bounded-Stage Reachability, along with matching lower bounds and kernelization impossibility results.
Findings
Algorithms run in fixed-parameter tractable time for both problems.
Matching lower bounds based on ETH and Set Cover are established.
No polynomial kernels exist for the problems under certain parameters.
Abstract
We study the fine-grained complexity of Leader Contributor Reachability (LCR) and Bounded-Stage Reachability (BSR), two variants of the safety verification problem for shared memory concurrent programs. For both problems, the memory is a single variable over a finite data domain. Our contributions are new verification algorithms and lower bounds. The latter are based on the Exponential Time Hypothesis (ETH), the problem Set Cover, and cross-compositions. LCR is the question whether a designated leader thread can reach an unsafe state when interacting with a certain number of equal contributor threads. We suggest two parameterizations: (1) By the size of the data domain D and the size of the leader L, and (2) by the size of the contributors C. We present algorithms for both cases. The key techniques are compact witnesses and dynamic programming. The algorithms run in O*((L(D+1))^(LD) *…
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
TopicsDistributed systems and fault tolerance · Formal Methods in Verification · Logic, programming, and type systems
