Conditional Lower Bound for Inclusion-Based Points-to Analysis

07/10/2020
by   Qirun Zhang, et al.
0

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 / 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/ 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/01/2019

Optimal Dyck Reachability for Data-Dependence and Alias Analysis

A fundamental algorithmic problem at the heart of static analysis is Dyc...
research
02/25/2021

Subcubic Certificates for CFL Reachability

Many problems in interprocedural program analysis can be modeled as the ...
research
06/02/2020

The Fine-Grained Complexity of Andersen's Pointer Analysis

Pointer analysis is one of the fundamental problems in static program an...
research
06/02/2020

The Fine-Grained and Parallel Complexity of Andersen's Pointer Analysis

Pointer analysis is one of the fundamental problems in static program an...
research
11/10/2021

The Decidability and Complexity of Interleaved Bidirected Dyck Reachability

Dyck reachability is the standard formulation of a large domain of stati...
research
09/03/2021

Indexing Context-Sensitive Reachability

Many context-sensitive data flow analyses can be formulated as a variant...
research
05/07/2019

Even Faster Elastic-Degenerate String Matching via Fast Matrix Multiplication

An elastic-degenerate (ED) string is a sequence of n sets of strings of ...

Please sign up or login with your details

Forgot password? Click here to reset