## Program Decomposition for Pointer-induced Aliasing Analysis (1996)

Venue: | Laboratory for Computer Science Research, Rutgers University |

Citations: | 3 - 1 self |

### BibTeX

@TECHREPORT{Zhang96programdecomposition,

author = {Sean Zhang and Barbara G. Ryder and William Landi},

title = {Program Decomposition for Pointer-induced Aliasing Analysis},

institution = {Laboratory for Computer Science Research, Rutgers University},

year = {1996}

}

### OpenURL

### Abstract

For compile-time pointer aliasing analysis, a program written in the C language can be considered as a sequence of pointer-related assignments. In this paper, we present a technique that decomposes these assignments into unrelated sets in terms of their effects on pointerinduced aliasing. This decomposition will allow different pointer aliasing analysis methods to be applied to individual sets of assignments so that end users of pointer aliasing information can get the efficiency/precision tradeoff desirable for their applications. We show the feasibility of this approach by using both a flow-sensitive and a flow-insensitive aliasing analysis algorithm on a same program. We use the aliasing solutions of the resulting analysis to resolve locations modified or referenced through names containing pointer dereferences (thru-deref MOD/REF); we empirically show that for a number of programs, the resulting analysis is much faster than the complete flow-sensitive analysis and yields a thru-de...

### Citations

616 | Data Structures and Network Algorithms - Tarjan - 1983 |

557 | Program Analysis and Specialization for the C Programming Language
- Andersen
- 1994
(Show Context)
Citation Context ...iases is critical for optimization, parallelization, program transformation and many other applications. Over the past few years, many techniques for the analysis have been proposed in the literature =-=[1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 19, 22, 24, 26, 28, 30]-=-. Some of them are more appropriate for aliases involving accesses to heap locations (i.e., heap-based aliases), e.g., [4, 6, 12]. Some are more appropriate for aliases involving accesses to stack loc... |

544 | Points-to Analysis in Almost Linear Time
- Steensgaard
- 1996
(Show Context)
Citation Context ...iases is critical for optimization, parallelization, program transformation and many other applications. Over the past few years, many techniques for the analysis have been proposed in the literature =-=[1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 19, 22, 24, 26, 28, 30]-=-. Some of them are more appropriate for aliases involving accesses to heap locations (i.e., heap-based aliases), e.g., [4, 6, 12]. Some are more appropriate for aliases involving accesses to stack loc... |

407 | Efficient context-sensitive pointer analysis for C programs
- Wilson, Lam
- 1995
(Show Context)
Citation Context ...iases is critical for optimization, parallelization, program transformation and many other applications. Over the past few years, many techniques for the analysis have been proposed in the literature =-=[1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 19, 22, 24, 26, 28, 30]-=-. Some of them are more appropriate for aliases involving accesses to heap locations (i.e., heap-based aliases), e.g., [4, 6, 12]. Some are more appropriate for aliases involving accesses to stack loc... |

398 | Context-Sensitive Interprocedural Points-to Analysis
- Emami, Ghiya, et al.
- 1994
(Show Context)
Citation Context |

393 | Analysis of pointers and structures
- Chase, Wegman, et al.
- 1990
(Show Context)
Citation Context |

334 | A Safe Approximation Algorithm for Interprocedural Pointer Aliasing
- Landi, Ryder
- 1992
(Show Context)
Citation Context |

298 | Solving shape-analysis problems in languages with destructive updating
- Sagiv, Reps, et al.
- 1996
(Show Context)
Citation Context ...e approximate when there are recursive data structures. Our program decomposition can identify the sets of statements related to recursive data structures and therefore allow shape analysis techniques=-=[4, 10, 23]-=- to be applied to these statements to extract more precise information. The modification side effect analysis for FORTRAN was given in [2]; the analysis for C was first presented in [17, 18]. Empirica... |

237 | Interprocedural may-alias analysis for pointers: Beyond k-limiting
- Deutsch
- 1994
(Show Context)
Citation Context |

223 | Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
- Choi, Burke, et al.
- 1993
(Show Context)
Citation Context |

199 |
Is it a tree, a DAG, or a cyclic graph? a shape analysis for heap-directed pointers
- Ghiya, Hendren
- 1996
(Show Context)
Citation Context |

167 | Detecting parallelism in c programs with recursive data structures
- Ghiya, Zhu
- 1998
(Show Context)
Citation Context |

134 | A Schema for Interprocedural Modification Side-Effect Analysis with Pointer Aliasing
- Ryder, Landi, et al.
- 2001
(Show Context)
Citation Context ...hniques[4, 10, 23] to be applied to these statements to extract more precise information. The modification side effect analysis for FORTRAN was given in [2]; the analysis for C was first presented in =-=[17, 18]-=-. Empirical results of modifications/references through pointer indirections were also reported in [8]. 8 Conclusion and Future Work We have presented a program decomposition technique for point-induc... |

131 |
An efficient way to find the side effects of procedure calls and the aliases of variables
- Banning
- 1979
(Show Context)
Citation Context ...ructures and therefore allow shape analysis techniques[4, 10, 23] to be applied to these statements to extract more precise information. The modification side effect analysis for FORTRAN was given in =-=[2]-=-; the analysis for C was first presented in [17, 18]. Empirical results of modifications/references through pointer indirections were also reported in [8]. 8 Conclusion and Future Work We have present... |

128 | Context-insensitive alias analysis reconsidered
- Ruf
- 1995
(Show Context)
Citation Context |

108 | Pointer-induced aliasing: A problem classification
- Landi, Ryder
- 1991
(Show Context)
Citation Context ...y single-level pointers in the pointer-related assignments affiliated with the component; it is known that the may-aliasing problem for single-level pointers can be solved precisely in polynomial time=-=[15]-=-. If k is 1 for a component, then the pointer-related assignments for the component are involved with some recursive data structures. The may-aliasing problem for recursive data structures has been pr... |

92 | Ecient Type Inference for Higher-Order Binding-Time Analysis
- Henglein
- 1991
(Show Context)
Citation Context ...s similar to the points-to relation [24, 26]. The approach in [24, 26] is based on a non-standard type inference technique and is inspired by the work on using type inference for binding-time analysis=-=[13]-=-. The algorithm handles type casting and indirect calls through function pointers, but do not allow structure types as in C. We handle structures and plan to consider function pointers and type castin... |

85 |
The Undecidability of Aliasing
- Ramalingam
- 1994
(Show Context)
Citation Context ...the may aliasing problem is P-space hard and for recursive data structures, where the number of dereferences is not known at compile time, the problem is undecidable. A similar result was reported in =-=[21]-=-. The FA relation is similar to the points-to relation [24, 26]. The approach in [24, 26] is based on a non-standard type inference technique and is inspired by the work on using type inference for bi... |

69 | Interprocedural data flow analysis in the presence of pointers, procedure variables and label variables
- Weihl
- 1980
(Show Context)
Citation Context |

67 | Flow-insensitive interprocedural alias analysis in the pressence of pointers
- Burke, Carini, et al.
- 1995
(Show Context)
Citation Context |

31 |
A practical inter-procedural alias analysis for an optimizing/paralleling C compiler
- Emami
- 1993
(Show Context)
Citation Context |

31 |
Bjarne Steensgaard. Value Dependence Graphs: Representation without Taxation
- Weise, Crew, et al.
- 1994
(Show Context)
Citation Context ...C. We handle structures and plan to consider function pointers and type casting in the future. The points-to relation calculated by the algorithms is used to fragment stores for the VDG representation=-=[25, 29]-=-. The FA relation is also similar to the cheap alias relation in the work done by Altucher and Landi at Siemens Corporate Research. Their approach is to calculate a program-wise alias relation, which ... |

24 |
Pointer-induced aliasing: A clarification
- Marlowe, Landi, et al.
- 1993
(Show Context)
Citation Context |

19 | Defining flow sensitivity for data flow problems
- Marlowe, Ryder, et al.
- 1995
(Show Context)
Citation Context ...tation and it can be depicted in a graphical form such as the ICFG[16]. 1 In this paper, we will use flow-sensitive and flow-insensitive to mean algorithm-flow-sensitive and algorithm-flowinsensitive =-=[20]-=-. Program ::= (Procedure) + Procedure ::= (Statement) + Statement ::= entry of P(FmlName 1 ,...,FmlName m ) (procedure entry) j exit of P (procedure exit) j call P(ArgName 1 ,...,ArgName m ) (call sta... |

19 | Sparse functional stores for imperative programs - Steensgaard - 1995 |

8 | Practical techniques for interprocedural heap analysis. Master 's thesis
- Ghiya
- 1995
(Show Context)
Citation Context |

2 |
Undecidability of static analysis. ACM letters on programming languages and systems
- Landi
- 1992
(Show Context)
Citation Context ...ds. Landi and Ryder[15] first proved that the may aliasing problem is polynomial for single-level pointers and is NP-hard for multiple-level pointers (including recursive data structures). Later Landi=-=[14]-=- proved that for finite-level pointer dereferences ( 2), the may aliasing problem is P-space hard and for recursive data structures, where the number of dereferences is not known at compile time, the ... |