# Precise interprocedural dataflow analysis via graph reachability

@inproceedings{Reps1995PreciseID, title={Precise interprocedural dataflow analysis via graph reachability}, author={T. Reps and Susan Horwitz and Shmuel Sagiv}, booktitle={ACM-SIGACT Symposium on Principles of Programming Languages}, year={1995} }

The paper shows how a large class of interprocedural dataflow-analysis problems can be solved precisely in polynomial time by transforming them into a special kind of graph-reachability problem. The only restrictions are that the set of dataflow facts must be a finite set, and that the dataflow functions must distribute over the confluence operator (either union or intersection). This class of probable problems includes—but is not limited to—the classical separable problems (also known as “gen…

## 1,094 Citations

### Bebop: a path-sensitive interprocedural dataflow engine

- Computer SciencePASTE '01
- 2001

This work reformulates an interprocedural dataflow algorithm by Reps, Horwitz and Sagiv (based on context-free graph reachability), and shows how to use Binary Decision Diagrams, a data structure from the model checking community, to turn this reformulated algorithm into an interProcedural path-sensitive dataflow analysis algorithm that tracks a set of set of facts per program statement.

### Subcubic certificates for CFL reachability

- Computer ScienceProc. ACM Program. Lang.
- 2022

It is shown that there cannot be a fine-grained reduction from SAT to CFL reachability for a conditional lower bound stronger than nω, unless the nondeterministic strong exponential time hypothesis (NSETH) fails.

### Demand-driven interprocedural analysis for map-based abstract domains

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2018

### Context-sensitive data-dependence analysis via linear conjunctive language reachability

- Computer SciencePOPL
- 2017

This paper introduces linear conjunctive language (LCL) reachability, a new, expressive class of graph reachability that not only contains the interleaved matched-parenthesis language, but is also closed under all set-theoretic operations.

### Fast Graph Simplification for Interleaved-Dyck Reachability

- Computer ScienceACM Trans. Program. Lang. Syst.
- 2022

This article aims at simplifying the underlying input graph G, based on the observation that if an edge is not contributing to any InterDyck-paths, the authors can safely eliminate it from G, and improves both the scalability and precision of all three InterDYck-reachability algorithms.

### Impact Analysis via Reachability and Alias Analysis

- Computer SciencePoEM
- 2014

This work adds reachability analysis that examines the program to see “whether a given path in a program representation corresponds to a possible execution path”, such that infeasible paths of mis-matched calls and returns can be filtered out from the estimated impact set.

### Optimal Interprocedural Program Optimization

- Computer ScienceLecture Notes in Computer Science
- 2000

The generator has successfully been tested on a large sample of program optimizations and first practical experiences show that the generated DFA-algorithms are as efficient as their hand-coded counterparts.

### Precise Interprocedural Dataaow Analysis with Applications to Constant Propagation 1

- Computer Science
- 1995

Two eecient algorithms are presented that produce precise solutions to the interprocedural constant-propagation problem: an exhaustive algorithm that produces values for all symbols at all program points, and a demand algorithm that demands the value for an individual symbol at a particular program point.

### Interprocedural data flow analysis in Soot using value contexts

- Computer ScienceSOAP '13
- 2013

A general-purpose interprocedural analysis framework for Soot using data flow values for context-sensitivity and the key ideas of the tabulation method of the functional approach and the technique of value-based termination of call string construction are described.

### Data flow frequency analysis

- Computer SciencePLDI '96
- 1996

This paper provides a precise formulation of this problem for a large class of dataflow problems --- the class of finite bi-distributive subset problems, and shows how it can be reduced to a generalization of the standard dataflow analysis problem, one that requires a sum-over-all- Paths quantity instead of the usual meet-overall-paths quantity.

## References

SHOWING 1-10 OF 47 REFERENCES

### Solving Demand Versions of Interprocedural Analysis Problems

- Computer ScienceCC
- 1994

The paper describes how algorithms for demand versions of program-analysis problems can be obtained from their exhaustive counterparts essentially for free, by applying the so-called “magic-sets” transformation that was developed in the logic-programming and deductive-database communities.

### Demand interprocedural dataflow analysis

- Computer ScienceSIGSOFT FSE
- 1995

The new algorithm provides precise (meet over all interprocedurally valid paths) solutions to a large class of problems and has a polynomial worst-case cost for both a single demand and a sequence of all possible demands.

### Qualified Data Flow Problems

- MathematicsIEEE Transactions on Software Engineering
- 1981

This paper presents a simple uniform methodology for sharpening data flow information by considering certain recursive path sets of practical importance and indicates that qualified analysis is feasible and substantialy more informative than ordinary analysis.

### Data flow analysis of applicative programs using minimal function graphs

- Computer SciencePOPL '86
- 1986

Data or program flow analysis is concerned with the static analysis of programs, to obtain as much information as possible about their possible run time behavior without actually having to run the…

### The Interprocedural Coincidence Theorem

- MathematicsCC
- 1992

An interprocedural generalization of the well-known Coincidence Theorem of Kam and Ullman which provides a sufficient condition for the equivalence of the meet over all paths (MOP) solution and the maximal fixed point (MFP) solution to a data flow analysis problem.

### Demand-driven computation of interprocedural data flow

- Computer SciencePOPL '95
- 1995

A general framework for deriving demand-driven algorithms for interprocedural data flow analysis of imperative programs by modeling a demand for data flow information as a set of date flow queries.

### Finiteness conditions for fixed point iteration

- Computer ScienceLFP '92
- 1992

How the classical notions of fastness, rapidity and k-boundedness carry over to the abstract interpretation framework and how this may be used to bound the number of times a functional should be unfolded in order to yield the fixed point is shown.

### The program summary graph and flow-sensitive interprocedual data flow analysis

- Computer SciencePLDI '88
- 1988

A method for interprocedural data flow analysis which is powerful enough to express flowsensitive problems but fast enough to apply to very large programs is discussed.

### Interprocedural slicing using dependence graphs

- Computer ScienceTOPL
- 1990

A new kind of graph to represent programs is introduced, called a system dependence graph, which extends previous dependence representations to incorporate collections of procedures (with procedure calls) rather than just monolithic programs.

### Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation

- Computer ScienceTAPSOFT
- 1995

An efficient dynamic-programming algorithm is presented that produces precise solutions to interprocedural dataflow-analysis problems in which the dataflow information at a program point is represented by an environment and the effect of a program operation is representation by a distributive environment transformer.