当前位置: X-MOL 学术J. Autom. Reason. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fine-Grained Complexity of Safety Verification
Journal of Automated Reasoning ( IF 0.9 ) Pub Date : 2020-07-14 , DOI: 10.1007/s10817-020-09572-x
Peter Chini , Roland Meyer , Prakash Saivasan

We study the fine-grained complexity of Leader Contributor Reachability ( $${\textsf {LCR}} $$ LCR ) and Bounded-Stage Reachability ( $${\textsf {BSR}} $$ 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 ( $${\textsf {ETH}} $$ ETH ), the problem $${\textsf {Set~Cover}} $$ Set Cover , and cross-compositions. $${\textsf {LCR}} $$ 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 $${\texttt {D}}$$ D and the size of the leader $${\texttt {L}}$$ L , and (2) by the size of the contributors $${\texttt {C}}$$ C . We present algorithms for both cases. The key techniques are compact witnesses and dynamic programming. The algorithms run in $${\mathcal {O}}^*(({\texttt {L}}\cdot ({\texttt {D}}+1))^{{\texttt {L}}\cdot {\texttt {D}}} \cdot {\texttt {D}}^{{\texttt {D}}})$$ O ∗ ( ( L · ( D + 1 ) ) L · D · D D ) and $${\mathcal {O}}^*(2^{{\texttt {C}}})$$ O ∗ ( 2 C ) time, showing that both parameterizations are fixed-parameter tractable. We complement the upper bounds by (matching) lower bounds based on $${\textsf {ETH}} $$ ETH and $${\textsf {Set~Cover}} $$ Set Cover . Moreover, we prove the absence of polynomial kernels. For $${\textsf {BSR}} $$ BSR , we consider programs involving $${\texttt {t}}$$ t different threads. We restrict the analysis to computations where the write permission changes $${\texttt {s}}$$ s times between the threads. $${\textsf {BSR}} $$ BSR asks whether a given configuration is reachable via such an $${\texttt {s}}$$ s -stage computation. When parameterized by $${\texttt {P}}$$ P , the maximum size of a thread, and $${\texttt {t}}$$ 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 the size of the data domain $${\texttt {D}}$$ D or the number of stages $${\texttt {s}}$$ s to a polynomial dependence on $${\texttt {P}}$$ P and $${\texttt {t}}$$ t . This indicates that symbolic methods may be harder to find for this problem.

中文翻译:

安全验证的细粒度复杂性

我们研究了 Leader Contributor Reachability ( $${\textsf {LCR}} $$ LCR ) 和 Bounded-Stage Reachability ( $${\textsf {BSR}} $$ BSR ) 的细粒度复杂性,这是安全的两种变体共享内存并发程序的验证问题。对于这两个问题,内存是有限数据域上的单个变量。我们的贡献是新的验证算法和下界。后者基于指数时间假设( $${\textsf {ETH}} $$ ETH )、问题 $${\textsf {Set~Cover}} $$ Set Cover 和交叉组合。$${\textsf {LCR}} $$ LCR 是指定的领导线程在与一定数量的相等贡献者线程交互时是否可以达到不安全状态的问题。我们建议两种参数化:(1) 通过数据域 $${\texttt {D}}$$ D 的大小和领导者 $${\texttt {L}}$$ L 的大小,以及 (2) 通过贡献者 $${\texttt {C}}$$ C 。我们介绍了这两种情况的算法。关键技术是紧凑见证和动态规划。算法运行在 $${\mathcal {O}}^*(({\texttt {L}}\cdot ({\texttt {D}}+1))^{{\texttt {L}}\cdot { \texttt {D}}} \cdot {\texttt {D}}^{{\texttt {D}}})$$ O ∗ ( ( L · ( D + 1 ) ) L · D · DD ) 和 $$ {\mathcal {O}}^*(2^{{\texttt {C}}})$$ O ∗ ( 2 C ) 时间,表明两个参数化都是固定参数易处理的。我们通过基于 $${\textsf {ETH}} $$ ETH 和 $${\textsf {Set~Cover}} $$ Set Cover 的(匹配)下限来补充上限。此外,我们证明了多项式核的不存在。对于 $${\textsf {BSR}} $$ BSR ,我们考虑涉及 $${\texttt {t}}$$ t 个不同线程的程序。我们将分析限制在写入权限在线程之间更改 $${\texttt {s}}$$ s 次的计算。$${\textsf {BSR}} $$ BSR 询问给定的配置是否可以通过这样的 $${\texttt {s}}$$ s -stage 计算访问。当由 $${\texttt {P}}$$ P 、线程的最大大小和 $${\texttt {t}}$$ t 参数化时,有趣的观察是该问题有大量困难实例。形式上,我们证明没有多项式内核,没有压缩算法可以减少数据域的大小 $${\texttt {D}}$$ D 或阶段数 $${\texttt {s}}$$ s 对 $${\texttt {P}}$$ P 和 $${\texttt {t}}$$ t 的多项式依赖。这表明对于这个问题可能更难找到符号方法。
更新日期:2020-07-14
down
wechat
bug