Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The definition of Standard ML
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Set-based analysis of ML programs
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
A type system equivalent to flow analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safety analysis versus type inference
Information and Computation
Interconvertbility of set constraints and context-free language reachability
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Interprocedural control flow analysis of first-order programs with tail-call optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control-Flow Analysis and Type Systems
SAS '95 Proceedings of the Second International Symposium on Static Analysis
On the Cubic Bottleneck in Subtyping and Flow Analysis
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Interconvertbility of set constraints and context-free language reachability
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
From polyvariant flow information to intersection and union types
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fast interprocedural class analysis
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partial online cycle elimination in inclusion constraint graphs
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Equality-based flow analysis versus recursive types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Projection merging: reducing redundancies in inclusion constraint graphs
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based useless variable elimination
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Undecidability of context-sensitive data-dependence analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Scalable context-sensitive flow analysis using instantiation constraints
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Type-base flow analysis: from polymorphic subtyping to CFL-reachability
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A framework for call graph construction algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-Based Useless-Variable Elimination
Higher-Order and Symbolic Computation
A cost-effective estimation of uncaught exceptions in standard ML programs
Theoretical Computer Science
On the complexity analysis of static analyses
Journal of the ACM (JACM)
A proof method for the corectness of modularized OCFA
Information Processing Letters
Higher-order value flow graphs
Nordic Journal of Computing
Flow-Directed Closure Conversion for Typed Languages
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
On the Complexity Analysis of Static Analyses
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Solving Regular Tree Grammar Based Constraints
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
The essence of computation
Mathematical Structures in Computer Science
CPS transformation of flow information
Journal of Functional Programming
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
Higher-order control-flow analysis in retrospect: lessons learned, lessons abandoned
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Selectors Make Set-Based Analysis Too Hard
Higher-Order and Symbolic Computation
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
Relating complexity and precision in control flow analysis
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Flow Analysis, Linearity, and PTIME
SAS '08 Proceedings of the 15th international symposium on Static Analysis
From generic to specific: off-line optimization for a general constraint solver
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Scalable Inclusion Constraint Solver Using Unification
Logic-Based Program Synthesis and Transformation
Static Analysis Techniques for Parameterised Boolean Equation Systems
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
The Complexity of Andersen's Analysis in Practice
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Flow-sensitive type recovery in linear-log time
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Exact flow analysis by higher-order model checking
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
A structural soundness proof for shivers's escape technique: a case for galois connections
SAS'12 Proceedings of the 19th international conference on Static Analysis
Alias analysis for object-oriented programs
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
We present a linear-time algorithm for bounded-type 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 CFA-consuming applications such as:• effects analysis: find the side-effecting expressions in a program.• k-limited CFA: for each call-site, list the functions if there are only a few of them (≤ k) and otherwise output "many".• called-once analysis: identify all functions called from only one call-site.