Indexing Context-Sensitive Reachability

09/03/2021
by   Qingkai Shi, et al.
0

Many context-sensitive data flow analyses can be formulated as a variant of the all-pairs Dyck-CFL reachability problem, which, in general, is of sub-cubic time complexity and quadratic space complexity. Such high complexity significantly limits the scalability of context-sensitive data flow analysis and is not affordable for analyzing large-scale software. This paper presents Flare, a reduction from the CFL reachability problem to the conventional graph reachability problem for context-sensitive data flow analysis. This reduction allows us to benefit from recent advances in reachability indexing schemes, which often consume almost linear space for answering reachability queries in almost constant time. We have applied our reduction to a context-sensitive alias analysis and a context-sensitive information-flow analysis for C/C++ programs. Experimental results on standard benchmarks and open-source software demonstrate that we can achieve orders of magnitude speedup at the cost of only moderate space to store the indexes. The implementation of our approach is publicly available.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/13/2020

Reachability is Tower Complete

A complete characterization of the complexity of the reachability proble...
research
09/06/2022

DFI: An Interprocedural Value-Flow Analysis Framework that Scales to Large Codebases

Context- and flow-sensitive value-flow information is an important build...
research
09/16/2021

Efficient Path-Sensitive Data-Dependence Analysis

This paper presents a scalable path- and context-sensitive data-dependen...
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
07/10/2020

Conditional Lower Bound for Inclusion-Based Points-to Analysis

Inclusion-based (i.e., Andersen-style) points-to analysis is a fundament...
research
02/25/2021

Subcubic Certificates for CFL Reachability

Many problems in interprocedural program analysis can be modeled as the ...
research
06/04/2019

Unification-based Pointer Analysis without Oversharing

Pointer analysis is indispensable for effectively verifying heap-manipul...

Please sign up or login with your details

Forgot password? Click here to reset