#### DMCA

## Points-to Analysis in Almost Linear Time (1996)

### Cached

### Download Links

- [www.cs.trinity.edu]
- [www-acaps.cs.mcgill.ca]
- [www.cs.colorado.edu]
- [ftp.research.microsoft.com]
- [www.cs.cornell.edu]
- DBLP

### Other Repositories/Bibliography

Citations: | 594 - 3 self |

### Citations

629 | Program Analysis and Specialization for the C Programming Language
- Andersen
- 1994
(Show Context)
Citation Context ...perative programs is an open question. Andersen defines context-sensitive and context-insensitive analyses that are flow-insensitive4 points-to analysis in terms of constraints and constraint solving =-=[And94]-=-. The context-sensitive algorithm distinguishes between immediate calling contexts in a 1limited version of the static program call graph, effectively taking two layers of context into consideration. ... |

433 | Effective context sensitive pointer analysis for C programs
- Wilson, Lam
- 1995
(Show Context)
Citation Context ... all calls of the function3. The algorithm by Emami, et. al., [EGH94] has a exponential time complexity, as it performs a virtual unfolding of all non-recursive calls. The algorithm by Wilson and Lam =-=[WL95]-=- also has exponential time complexity but is likely to exhibit polynomial time complexity in practice as it uses partial transfer functions to summarize the behavior of already analyzed functions and ... |

417 | Analysis of pointers and structures.
- Chase, Wegman, et al.
- 1990
(Show Context)
Citation Context ...ich is inspired by Henglein’s binding time analysis by type inference [Hen91], uses a non-standard type system to describe the store usage at runtime by using types to construct a storage shape graph =-=[CWZ90]-=-. While we describe the principles behind the algorithm in terms of types and typing rules, we also provide a detailed description of the algorithm which can be used almost directly to implement the a... |

414 | Context-sensitive interprocedural points-to analysis in the presence of function pointers
- Emami, Ghiya, et al.
- 1994
(Show Context)
Citation Context ... is valid at all program points. The storage shape graph conservatively models all the points-to relations that may hold at runtime. Alias relations can also be extracted from the storage shape graph =-=[EGH94]-=-. Our goal is a points-to analysis with an almost linear time cost complexity. The size of the storage shape graph represented by types must therefore be linear in the size of the input program. Conse... |

351 | A safe approximate algorithm for interprocedural aliasing. - Landi, Ryder - 1992 |

249 | Interprocedural may-alias analysis for pointers: Beyond k-limiting
- Deutsch
- 1994
(Show Context)
Citation Context ...ure accessors as the variables). The analysis is therefore only relevant for strongly typed languages such as ML and strongly typable programs written in weakly typed languages such as C (as shown in =-=[Deu94]-=-). Access paths are combined by unification. A higher order (context-sensitive) points-to analysis by type inference has been developed by Tofte and Talpin for the purposes of creating an ML interpret... |

245 | Efficient detection of all pointer and array access errors. - Austin, Breach, et al. - 1994 |

240 |
The C Programming Language. Second Edition
- Kernighan, Ritchie
- 1988
(Show Context)
Citation Context ...st linear time algorithm for points-to analysis by solving a constraint system. 1 Introduction Modern optimizing compilers and program understanding and browsing tools for pointer languages such as C =-=[KR88]-=- are dependent on semantic information obtained by either an alias analysis or a points-to analysis. Alias analyses compute pairs of expressions (or access paths) that may be aliased (e.g., [LR92, LRZ... |

231 | Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In:
- Choi, Burke, et al.
- 1993
(Show Context)
Citation Context ...edural” to mean “context-sensitive”. is the size of the program5. In contrast, the size of the solution of our algorithm is O(N). Choi et al. present both flow-sensitive and flow-insensitive analyses =-=[CBC93]-=-. The flow-insensitive analysis algorithm is described in more detail in [BCCH95]. Their algorithm computes alias information rather than points-to information but uses a representation that shares ma... |

139 | Interprocedural modification side effect analysis with pointer aliasing. In: - Landi, Ryder, et al. - 1993 |

129 | Context-insensitive alias analysis reconsidered.
- Ruf
- 1995
(Show Context)
Citation Context ... More precise points-to analysis exist, e.g., [CWZ90, EGH94, WL95, Ruf95]. These analyses are all flow-sensitive interprocedural data flow analyses. Both Chase’s algorithm [CWZ90] and Ruf’s algorithm =-=[Ruf95]-=- are context-insensitive and have polynomial time complexity. The two other algorithms are context-sensitive, meaning that the algorithm distinguishes between effects of different calls of the same fu... |

97 | Efficient type inference for higher-order binding-time analysis
- Henglein
- 1991
(Show Context)
Citation Context ...esults are roughly comparable to those of, e.g., the cubic time complexity flow insensitive analysis of [Wei80]. The algorithm, which is inspired by Henglein’s binding time analysis by type inference =-=[Hen91]-=-, uses a non-standard type system to describe the store usage at runtime by using types to construct a storage shape graph [CWZ90]. While we describe the principles behind the algorithm in terms of ty... |

77 |
A storeless model of aliasing and its abstractions using finite represent at ions of right-regular equivalence relations
- Deutsch
- 1992
(Show Context)
Citation Context ...92, LRZ93]. The length of access-paths are klimited, using a relatively simple truncation mechanism to eliminate extra path elements. Deutsch presents an alias analysis for an imperative subset of ML =-=[Deu92]-=-. Access paths are defined in terms of monomial relations (a kind of multi-variable polynomial expression with structure accessors as the variables). The analysis is therefore only relevant for strong... |

72 | Flowinsensitive interprocedural alias analysis in the presence of pointers. In
- Burke, Carini, et al.
- 1994
(Show Context)
Citation Context ...he size of the solution of our algorithm is O(N). Choi et al. present both flow-sensitive and flow-insensitive analyses [CBC93]. The flow-insensitive analysis algorithm is described in more detail in =-=[BCCH95]-=-. Their algorithm computes alias information rather than points-to information but uses a representation that shares many properties with the storage shape graph. The representation allows abstract lo... |

69 | Interprocedural data flow analysis in the presence of pointers, procedure variables and label variables
- WEIHL
- 1980
(Show Context)
Citation Context ...s results are often not as accurate as those obtained by flow-sensitive analyses. However, the results are roughly comparable to those of, e.g., the cubic time complexity flow insensitive analysis of =-=[Wei80]-=-. The algorithm, which is inspired by Henglein’s binding time analysis by type inference [Hen91], uses a non-standard type system to describe the store usage at runtime by using types to construct a s... |

57 |
Implementation of the typed call-by-value -calculus using a stack ofregions
- Tofte, Talpin
- 1994
(Show Context)
Citation Context ... unification. A higher order (context-sensitive) points-to analysis by type inference has been developed by Tofte and Talpin for the purposes of creating an ML interpreter without a garbage collector =-=[TT94]-=-. The analysis is based on polymorphic type inference over a nonstandard set of types. They assume a runtime model that makes allocation regions explicit, where allocation regions resemble the storage... |

33 |
Ernst and Bjarne Steensgaard. Value dependence graphs: representation without taxation
- Weise, Crew, et al.
- 1994
(Show Context)
Citation Context ...t linear in the size of the input program). 6 Experience We have implemented a slightly improved version of the above algorithm in our prototype programming system based on the Value Dependence Graph =-=[WCES94]-=- and implemented in the programming language Scheme [CR91]. The implementation uses a weaker typing rule than presented above for primitive operations returning boolean values and uses predetermined t... |

20 | Sparse functional stores for imperative programs.
- Steensgaard
- 1995
(Show Context)
Citation Context ...ent paper can be used to prime a data flow analysis algorithm or otherwise reduce the amount of work to be done by the algorithm. One possible method is splitting of functional stores as suggested in =-=[Ste95b]-=-. Another way to obtain improved results is to develop an efficient flow-insensitive, context-sensitive algorithm. This can be done using types to represent sets of locations, as in the almost linear ... |

17 |
Data Structures and Network Flow Algorithms, volume CMBS
- Tarjan
- 1983
(Show Context)
Citation Context ...ing join operations is a constant plus the cost of ECR “find” operations. The average cost of N ECR “find” operations areO(N(N;N)), where is a (very slowly increasing) inverse Ackermann’s function =-=[Tar83]-=-. The time cost complexity of the algorithm is consequently O(N(N;N)), where N is the size of the input program (almost linear in the size of the input program). 6 Experience We have implemented a sl... |

3 |
presentation at PLDI’95
- Poster
- 1995
(Show Context)
Citation Context ...he C programs processed by the system. Two implementations of an earlier type inference based pointsto analysis algorithm [Ste95a] have been performed at University of California, San Diego; one in C =-=[Mor95]-=- and one in Scheme [Gri95]. Both implementations have been augmented to model slots of structured objects independently. Our earlier algorithm was based on the same non-standard type system as used in... |

2 | Extended version published as Research Report - Springer-Verlag - 1995 |

2 |
Almost linear time points-to analyses. Personal communication at POPL’95
- Landi
- 1995
(Show Context)
Citation Context ...ling context). The algorithm presented in this paper is an extension of another almost linear points-to analysis algorithm [Ste95a]. Bill Landi has independently arrived at the same earlier algorithm =-=[Lan95]-=-. Barbara Ryder and Sean Zhang are also working on a version of the earlier algorithm with the extension that elements of composite objects are represented by separate type components [Zha95]. 8 Concl... |

1 |
Use of algorithm from [Ste95a] in a program restructuring tool. Personal communication at PLDI’95
- Griswold
- 1995
(Show Context)
Citation Context ... the system. Two implementations of an earlier type inference based pointsto analysis algorithm [Ste95a] have been performed at University of California, San Diego; one in C [Mor95] and one in Scheme =-=[Gri95]-=-. Both implementations have been augmented to model slots of structured objects independently. Our earlier algorithm was based on the same non-standard type system as used in the present algorithm but... |

1 | Personal communication at POPL' 95 - Landi, Ryder - 1995 |

1 | Poster presentation at PLDI'95 - Morgenthaler - 1995 |