arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2007.05569cs.PL
收藏

基于包含的point-to分析的条件下界

Conditional Lower Bound for Inclusion-Based Points-to Analysis

Qirun Zhang

摘要:

基于包容性(即,安德森式)指向分析是一个基本的静态分析问题。Andersen的开创性工作给出了C语言的最坏情况三次$O(n^3)$时间点分析算法,其中$n$与程序变量的数量成正比。如果一个算法在$O(n^{3-δ})$时间内运行某个$δ> 0$,则该算法是真正的次立方算法。尽管几十年来在改进点对分析方面进行了广泛的努力,但立方边界仍然保持不败。最好的组合分析算法具有“轻微次立方”的$O(n^3 / \text{log } n)$复杂度。这是一个有趣的开放式问题,点到分析是否可以在真正的亚立方时间解决。在本文中,我们证明了一个真正的次立方$O(n^{3-δ})$时间组合算法的包含为基础的点到分析是不可能的:一个真正的次立方组合点到分析算法意味着一个真正的次立方组合算法的布尔矩阵乘法(BMM)。BMM是一个研究得很好的问题,并没有真正的次立方组合BMM算法已经知道。最快的组合BMM算法在时间上运行$O(n^3/ \text{log}^4 n)$。我们的结果包括戴克可达性的BMM硬度的简化证明。这种减少本身就很有趣。首先,它比现有的BM-硬度结果稍强,因为我们的约简只需要Dyck-可达性中的一种括号($D_1$ -可达性)。其次,我们正式属性的“立方瓶颈”,需要解决$D_1$ -可达性,它捕获的指针引用/解引用的语义。这个新的视角支持更一般的缩减,适用于具有任意指针语句类型的程序。最后,我们基于$D_1$ -可达性的约简表明,需求驱动的点到分析与穷举分析一样困难。

英文摘要:

Inclusion-based (i.e., Andersen-style) points-to analysis is a fundamental static analysis problem. The seminal work of Andersen gave a worst-case cubic $O(n^3)$ time points-to analysis algorithm for C, where $n$ is proportional to the number of program variables. An algorithm is truly subcubic if it runs in $O(n^{3-δ})$ time for some $δ> 0$. Despite decades of extensive effort on improving points-to analysis, the cubic bound remains unbeaten. The best combinatorial analysis algorithms have a "slightly subcubic" $O(n^3 / \text{log } n)$ complexity. It is an interesting open problem whether points-to analysis can be solved in truly subcubic time. In this paper, we prove that a truly subcubic $O(n^{3-δ})$ time combinatorial algorithm for inclusion-based points-to analysis is unlikely: a truly subcubic combinatorial points-to analysis algorithm implies a truly subcubic combinatorial algorithm for Boolean Matrix Multiplication (BMM). BMM is a well-studied problem, and no truly subcubic combinatorial BMM algorithm has been known. The fastest combinatorial BMM algorithms run in time $O(n^3/ \text{log}^4 n)$. Our result includes a simplified proof of the BMM-hardness of Dyck-reachability. The reduction is interesting in its own right. First, it is slightly stronger than the existing BMM-hardness results because our reduction only requires one type of parenthesis in Dyck-reachability ($D_1$-reachability). Second, we formally attribute the "cubic bottleneck" to the need to solve $D_1$-reachability, which captures the semantics of pointer references/dereferences. This new perspective enables a more general reduction that applies to programs with arbitrary pointer statements types. Last, our reduction based on $D_1$-reachability shows that demand-driven points-to analysis is as hard as the exhaustive counterpart.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑