Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Replacing function parameters by global variables
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Co-induction in relational semantics
Theoretical Computer Science
For a better support of static data flow
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Abstract interpretation and application to logic programs
Journal of Logic Programming
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Is continuation-passing useful for data flow analysis?
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Set-based analysis of ML programs
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Abstract analysis and optimization of scheme
Abstract analysis and optimization of scheme
Closure analysis in constraint form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Safety analysis versus type inference
Information and Computation
Systematic realisation of control flow analyses for CML
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Interprocedural control flow analysis of first-order programs with tail-call optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Infinitary control flow analysis: a collecting semantics for closure analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A demand-driven set-based analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A practical and flexible flow analysis for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Making abstract interpretations complete
Journal of the ACM (JACM)
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
Abstract Interpretation of Algebraic Polynomial Systems (Extended Abstract)
AMAST '97 Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology
Flow Analysis of Lambda Expressions (Preliminary Version)
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Flow logic: a multi-paradigmatic approach to static analysis
The essence of computation
Class analyses as abstract interpretations of trace semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Syntactic accidents in program analysis: on the impact of the CPS transformation
Journal of Functional Programming
CPS transformation of flow information
Journal of Functional Programming
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extracting a data flow analyser in constructive logic
Theoretical Computer Science - Applied semantics: Selected topics
A Calculational Approach to Control-Flow Analysis by Abstract Interpretation
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Control-flow analysis of function calls and returns by abstract interpretation
Proceedings of the 14th ACM SIGPLAN international conference on Functional 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
Hi-index | 0.00 |
Abstract interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. In addition to an abstract environment, the analysis computes for each expression an abstract call-stack, effectively approximating where function calls return. The analysis is systematically derived by abstract interpretation of the stack-based C"aEK abstract machine of Flanagan et al. using a series of Galois connections. We prove that the analysis is equivalent to an analysis obtained by first transforming the program into continuation-passing style and then performing control flow analysis of the transformed program. We then show how the analysis induces an equivalent constraint-based formulation, thereby providing a rational reconstruction of a constraint-based CFA from abstract interpretation principles.