Fine-Grained Complexity of Safety Verification

02/15/2018
by   Peter Chini, et al.
0

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. We contribute new verification algorithms and lower bounds based on the Exponential Time Hypothesis (ETH) and kernels. 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 two algorithms, running in O*((L(D+1))^(LD)*D^D) and O*(4^C) time, showing that both parameterizations are fixed-parameter tractable. Further, we suggest a modification of the first algorithm, suitable for practical instances. The upper bounds are complemented by (matching) lower bounds based on ETH and kernels. For BSR, we consider programs involving t different threads. We restrict to computations where the write permission changes s times between the threads. BSR asks whether a given configuration is reachable via such an s-stage computation. When parameterized by P, the maximum size of a thread, and t, the interesting observation is that the problem has a large number of difficult instances. Formally, we show that there is no polynomial kernel, no compression algorithm that reduces D or s to a polynomial dependence on P and t. This indicates that symbolic methods may be harder to find for this problem.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/26/2019

Complexity of Liveness in Parameterized Systems

We investigate the fine-grained complexity of liveness verification for ...
research
08/05/2021

Lower Bounds for Shared-Memory Leader Election under Bounded Write Contention

This paper gives tight logarithmic lower bounds on the solo step complex...
research
11/17/2021

Context-Bounded Verification of Thread Pools

Thread pooling is a common programming idiom in which a fixed set of wor...
research
10/13/2022

The Fine-Grained Complexity of Graph Homomorphism Parameterized by Clique-Width

The generic homomorphism problem, which asks whether an input graph G ad...
research
04/25/2022

Parameterized safety verification of round-based shared-memory systems

We consider the parameterized verification problem for distributed algor...
research
10/19/2020

Finding Cut-Offs in Leaderless Rendez-Vous Protocols is Easy

In rendez-vous protocols an arbitrarily large number of indistinguishabl...
research
01/02/2020

Coarse-Grained Complexity for Dynamic Algorithms

To date, the only way to argue polynomial lower bounds for dynamic algor...

Please sign up or login with your details

Forgot password? Click here to reset