## Interprocedural May-Alias Analysis for Pointers: Beyond k-limiting (1994)

Citations: | 234 - 0 self |

### BibTeX

@INPROCEEDINGS{Deutsch94interproceduralmay-alias,

author = {Alain Deutsch},

title = {Interprocedural May-Alias Analysis for Pointers: Beyond k-limiting},

booktitle = {},

year = {1994},

pages = {230--241},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Existing methods for alias analysis of recursive pointer data structures are based on two approximation techniques: k-limiting, which blurs distinction between sub-objects below depth k; and store-based (or equivalently location or regionbased) approximations, which blur distinction between elements of recursive data structures. Although notable progress in interprocedural alias analysis has been recently accomplished, very little progress in the precision of analysis of recursive pointer data structures has been seen since the inception of these approximation techniques by Jones and Muchnick a decade ago. As a result, optimizing, verifying and parallelizing programs with pointers has remained difficult. We present a new parametric framework for analyzing recursive pointer data structures which can express a new natural class of alias information not accessib...

### Citations

1953 |
Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ..., this lattice V ] controls qualitatively the ability to reason about dependencies (typical examples of V ] are constant propagation [Ki73], linear arithmetic constraints [Ka76], arithmetic intervals =-=[CC77a]-=-, simple sections [BK89] etc., and combinations of these). 2. an algorithm for interprocedural may-alias analysis with pointers. Based on our parametric framework, we define a polynomial-time, flow-se... |

658 | Systematic design of program analysis frameworks
- Cousot, Cousot
- 1979
(Show Context)
Citation Context ... numerical lattices we have experimented with are: (1) the lattice of arithmetic intervals [CC77a]; (2) the combination of the lattice of intervals and of the lattice of linear equalities [Ka76] (see =-=[CC79]-=- and [Gr92] for an explanation of how to devise an optimal combination) . Data flow equations augmented with widening operators are solved using standard iterative techniques. Preliminary experimentat... |

588 | Automatic Discovery of Linear Restraints Among Variables of a Program
- Cousot, Halbwachs
- 1978
(Show Context)
Citation Context ... Basis(struct List) = ftl-?g Basis(struct List2) = ftl-?g Basis(struct Tree) = fleft-?; right-?g Figure 2: Recursive pointer types and their corresponding bases equalities [Ka76], linear inequalities =-=[CH78]-=-, simple sections [BK89, CC92], linear congruence equalities [Gr91] and congruential trapezoids [Ma91]. We will now list our assumptions about the numeric lattice and its associated operations, so as ... |

390 |
Analysis of pointers and structures
- Chase, Wegman, et al.
(Show Context)
Citation Context ...ractical application to imperative languages of the general theory of [De92b]. [He90] cannot handle cyclic data: as noted in [HHN92], this is a serious obstacle to its use in languages with pointers. =-=[CWZ90]-=- and [He90] can distinguish to some extent struct List f char *hd; struct List *tl; g; struct List * Copy(struct List *L) f struct List *p, *t1; C 1 : if (L == null) C 2 : return(L); C 3 : p = malloc(... |

223 | Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
- Choi, Burke, et al.
- 1993
(Show Context)
Citation Context ...ssibly augmented with reference count information [Hu86, He88, CWZ90], sets of pairs of access paths to represent aliasing [CC77b, We80, ASU86, He90, SF + 90, La92a, LR92] or a combination of the two =-=[CBC93]-=-. Data flow values are kept finite by either k-limiting [JM81] or by using a finite number of graph nodes (abstract locations) [Jo81, JM82] determined by the allocation context. All these methods part... |

219 | Derivatives of regular expressions - Brzozowski - 1964 |

167 | Comparing the Galois connection and widening/narrowing approaches to abstract interpretation - Cousot, Cousot - 1992 |

94 | Static determination of dynamic properties of recursive procedures - Cousot, Cousot - 1977 |

92 | Automata, Languages and Machines. Volume B - EILENBERG - 1976 |

91 | Semantic foundations of program analysis - Cousot - 1981 |

83 |
A Technique for Summarizing Data Access and Its Use in Parallelism Enhancing Transformations
- Balasundaram, Kennedy
- 1989
(Show Context)
Citation Context ...ls qualitatively the ability to reason about dependencies (typical examples of V ] are constant propagation [Ki73], linear arithmetic constraints [Ka76], arithmetic intervals [CC77a], simple sections =-=[BK89]-=- etc., and combinations of these). 2. an algorithm for interprocedural may-alias analysis with pointers. Based on our parametric framework, we define a polynomial-time, flow-sensitive algorithm for ma... |

76 |
On Determining Lifetime and Aliasing of Dynamically Allocated Data in Higher Order Functional Speci
- Deutsch
- 1990
(Show Context)
Citation Context ...ur framework can therefore easily be extended to an arbitrary token set. This is an issue orthogonal to the present contribution. Pointers to functions can be accomodated using a technique similar to =-=[De90]-=-. struct List * Reverse(struct List *X,*Y) f struct List *p, *q; if (X == null) q = X; else f p = X-?tl; X-?tl = Y; q = Reverse(p, X); g return(q); g G 2 : l = Reverse(l, null); G 3 : Figure 11: A des... |

74 |
A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relations
- Deutsch
- 1992
(Show Context)
Citation Context ...neral directed graph. But as soon as a sub-object below depth k becomes aliased, aliasing erroneously propagates to all other sub-objects below depth k, contaminating even objects of different types. =-=[De92b]-=- presents a theoretical framework for alias analysis. The formalism used is based on Eilenberg's unitaryprefix monomial decomposition [Ei74], on Parikh's commutative decomposition [Pa66] and on a stor... |

59 |
Static analysis of linear congruence equalities among variables of a program
- Granger
- 1991
(Show Context)
Citation Context ...uct Tree) = fleft-?; right-?g Figure 2: Recursive pointer types and their corresponding bases equalities [Ka76], linear inequalities [CH78], simple sections [BK89, CC92], linear congruence equalities =-=[Gr91]-=- and congruential trapezoids [Ma91]. We will now list our assumptions about the numeric lattice and its associated operations, so as to keep our construction parametric by avoiding dependence on a par... |

49 |
Static analysis of arithmetical congruences
- Granger
- 1989
(Show Context)
Citation Context ...sitions in aliased data structures can be captured. Independent (mono-dimensional) numeric lattices include: constant propagation [Ki73], arithmetic intervals [CC77a, Mo84] and arithmetic congruences =-=[Gr89]-=-. Relational (multidimensional) numeric lattices include: linear 2 The internal, postfix representation of the symbolic access path f is X :(tl ) i :hd. 3 The theoretically inclined reader is encourag... |

30 |
Improving the results of static analyses of programs by local decreasing iterations
- Granger
- 1992
(Show Context)
Citation Context ...lattices we have experimented with are: (1) the lattice of arithmetic intervals [CC77a]; (2) the combination of the lattice of intervals and of the lattice of linear equalities [Ka76] (see [CC79] and =-=[Gr92]-=- for an explanation of how to devise an optimal combination) . Data flow equations augmented with widening operators are solved using standard iterative techniques. Preliminary experimentation -- not ... |

21 | Reducing the cost of data flow analysis by congruence partitioning - GUPTA, SOFFA - 1994 |

20 | Operational Models of Programming Languages and Representations of Relations on Regular Languages with Application to the Static Determination of Dynamic Aliasing - Deutsch - 1992 |

12 | Static determination of dynamic properties of generalized type unions - Cousot, Cousot - 1977 |

1 | Automatic construction of sparse evaluation graphs - Choi, Cytron, et al. |

1 | Compilers: Principles, Techniques and Took - Aho, Sethi, et al. - 1986 |

1 | sot. Static determinant ion of dynamic properties of recursive procedures - Coumt, Con - 1977 |

1 | Operational Mode 1s of Programming Languages and Representations of Relations on Regular Languages with Application to the Static Determination of Dynamic Aliasing Properties of Data - Deutsch - 1992 |