Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '96 1996
DOI: 10.1145/237721.237727
|View full text |Cite
|
Sign up to set email alerts
|

Points-to analysis in almost linear time

Abstract: We present an interprocedural flow-insensitive points-to analysis based on type inference methods with an almost linear time cost complexity. To our knowledge, this is the asymptotically fastest non-trivial interprocedural points-to analysis algorithm yet described. The algorithm is based on a non-standard type system. The type inferred for any variable represents a set of locations and includes a type which in turn represents a set of locations possibly pointed to by the variable. The type inferred for a func… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

2
588
0
2

Year Published

1997
1997
2014
2014

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 809 publications
(592 citation statements)
references
References 22 publications
2
588
0
2
Order By: Relevance
“…The literature contains many variations of points-to analysis: context-sensitive versus context-insensitive, flow-sensitive versus flow-insensitive, etc. [3,6,12,13,15,33,35]. These variations make different trade-offs between precision and running time, but production compilers like gcc and LLVM seem to have settled on context-insensitive, flow-insensitive points-to analysis because the more precise alternatives are currently intractable for very large programs.…”
Section: Inclusion-based Points-to Analysismentioning
confidence: 99%
“…The literature contains many variations of points-to analysis: context-sensitive versus context-insensitive, flow-sensitive versus flow-insensitive, etc. [3,6,12,13,15,33,35]. These variations make different trade-offs between precision and running time, but production compilers like gcc and LLVM seem to have settled on context-insensitive, flow-insensitive points-to analysis because the more precise alternatives are currently intractable for very large programs.…”
Section: Inclusion-based Points-to Analysismentioning
confidence: 99%
“…Unions, structures, and dynamic memory allocation are handled with summary locations. To resolve function pointers, our constraint generator uses CIL's built-in Steensgaard analysis [18]. The constraints are then analyzed using our own implementation of Andersen's analysis.…”
Section: Is There a Precision Gap In Practice?mentioning
confidence: 99%
“…With the re-Analysis Soundness w.r.t. weak memory models Knoop et al [33] yes (separable) Chugh et al [34] yes (if no datarace) Steensgaard [35] yes (flow-insensitive) MinĂ© [16] yes Rugina and Rinard [24] yes Jeannet [14] no Ferrara [15] yes on Java Memory Model Farzan and Kincaid [25] yes (separable) Khedker and Dhamdhere [36] separable: yes; non-separable: not in general Constant propagation [32] yes (non-relational) Fig. 6.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Rinard observes in [11] that flow insensitive analyses such as Steensgaard's pointer analysis [35] are SC-sound. Hence by Thm.…”
Section: Related Work and Conclusionmentioning
confidence: 99%