Abstract:
We apply linear algebra techniques to precise interprocedural dataflow analysis. Specifically, we describe analyses that determine for each program point identities that are valid among the program variables whenever control reaches that program point. Our analyses fully interpret assignment statements with affine expressions on the right hand side while considering other assignments as non-deterministic and ignoring conditions at branches. Under this abstraction, the analysis computes the set of all affine relations and, more generally, all polynomial relations of bounded degree precisely. The running time of our algorithms is linear in the program size and polynomial in the number of occurring variables. We also show how to deal with affine preconditions and local variables and indicate how to handle parameters and return values of procedures.
Citations
|
371
|
Automatic discovery of linear restraints among variables of a program
– Cousot, Cousot
- 1978
|
|
256
|
Precise interprocedural dataflow analysis via graph reachability
– Reps, Horwitz, et al.
- 1995
|
|
234
|
Two approaches to interprocedural data flow analysis
– Sharir, Pnueli
- 1981
|
|
108
|
On affine relationships among variables of a program
– Karr
- 1976
|
|
89
|
Finite Differencing of Computable Expressions
– Paige, Koenig
- 1982
|
|
76
|
Static determination of dynamic properties of recursive procedures
– Cousot, Cousot
- 1977
|
|
75
|
The interprocedural coincidence theorem
– Knoop, Steffen
- 1992
|
|
66
|
Countable Nondeterminism and Random Assignment
– Apt, Plotkin
- 1986
|
|
64
|
Constructive design of a hierarchy of semantics of a transition system by abstract interpretation
– Cousot
|
|
64
|
editors. Program Flow Analysis: Theory and Applications
– Muchnick, Jones
- 1981
|
|
56
|
A generalization of the differential approach to recursive query evaluation
– Balbin, Ramamohanarao
- 1987
|
|
50
|
Weighted pushdown systems and their application to interprocedural dataflow analysis
– Reps, Schwoon, et al.
- 2005
|
|
29
|
Precise widening operators for convex polyhedra
– Bagnara, Hill, et al.
- 2003
|
|
21
|
Discovering Affine Equalities Using Random Interpretation
– Gulwani, Necula
- 2003
|
|
20
|
Polynomial Constants are Decidable
– Müller-Olm, Seidl
- 2002
|
|
18
|
Propagating differences: An efficient new fixpoint algorithm for distributed constraint systems
– Fecht, Seidl
- 1998
|
|
17
|
Constraint-Based Inter-Procedural Analysis of Parallel Programs
– Seidl, Steffen
- 2000
|
|
9
|
The Complexity of Constant Propagation
– Müller-Olm, Rüthing
|
|
7
|
Computing Polynomial Program Invariants
– Müller-Olm, Seidl
- 2004
|