Download:
|
by Nevin Heintze, David Mcallester
In Proceedings of ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation
http://www.cs.cmu.edu/afs/cs/user/nch/ftp/linear-cfa.ps
Add To MetaCart
Abstract:
We present a linear-time algorithm for boundedtype programs that builds a directed graph whose transitive closure gives exactly the results of the standard (cubic-time) Control-Flow Analysis (CFA) algorithm. Our algorithm can be used to list all functions calls from all call sites in (optimal) quadratic time. More importantly, it can be used to give linear-time algorithms for CFAconsuming applications such as: ffl effects analysis: find the side-effecting expressions in a program. ffl k-limited CFA: for each call-site, list the functions if there are only a few of them ( k) and otherwise output "many". ffl called-once analysis: identify all functions called from only one call-site. 1
Citations
|
1483
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
158
|
Control flow analysis in Scheme
– Shivers
|
|
132
|
Type inference with polymorphic recursion
– Henglein
- 1993
|
|
120
|
Set-Based Analysis of ML Programs
– Heintze
- 1994
|
|
90
|
A type system equivalent to flow analysis
– Palsberg, O’Keefe
- 1995
|
|
43
|
Safety analysis versus type inference
– Palsberg, Schwartzbach
- 1995
|
|
27
|
On the Cubic-Bottleneck of Subtyping and Flow Analysis" LICS
– Heintze, McAllester
- 1997
|
|
27
|
Flow Analysis of Lambda Expressions
– Jones
- 1981
|
|
25
|
Flow Analysis of Lazy Higher-Order Functional Programs, in Abstract Interpretation of Declarative Languages, edited by S. Abramsky and
– Jones
- 1987
|
|
20
|
Interconvertbility of set constraints and context-free language reachability
– Melski, Reps
- 1997
|
|
13
|
Efficient Analysis for Realistic Off-Line Partial Evaluation
– Bondorf, Jorgensen
- 1993
|
|
8
|
Time and tape complexity of pushdown automaton languages
– Aho, Hopcroft, et al.
- 1968
|
|
4
|
Inter-procedural Control Flow Analysis of First Order Programs with Tail Call Optimization
– Debray, Proebsting
- 1996
|
|
4
|
Control-Flow Analysis and Type Systems", Static Analysis Symposium
– Heintze
- 1995
|
|
3
|
The computational complexity of taxonomic inference", unpublished manuscript
– Neal
- 1989
|
|
2
|
Inferring Recursive Data Types", draft manuscript
– McAllester
- 1996
|
|
1
|
Control Flow Analysis for Higher-Order Typed Programs", draft
– Mossin
- 1996
|