Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
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
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
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
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)
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
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
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Abstracting abstract machines: a systematic approach to higher-order program analysis
Communications of the ACM
Control-flow analysis of function calls and returns by abstract interpretation
Information and Computation
CFA2: a context-free approach to control-flow analysis
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
DroidChecker: analyzing android applications for capability leak
Proceedings of the fifth ACM conference on Security and Privacy in Wireless and Mobile Networks
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Introspective pushdown analysis of higher-order programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
SmartDroid: an automatic system for revealing UI-based trigger conditions in android applications
Proceedings of the second ACM workshop on Security and privacy in smartphones and mobile devices
Hi-index | 0.02 |
We derive a control-flow analysis that 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, our analysis computes for each expression an abstract control stack, effectively approximating where function calls return across optimized tail calls. The analysis is systematically calculated by abstract interpretation of the stack-based CaEK abstract machine of Flanagan et al. using a series of Galois connections. Abstract interpretation provides a unifying setting in which we 1) prove the analysis equivalent to the composition of a continuation-passing style (CPS) transformation followed by an abstract interpretation of a stack-less CPS machine, and 2) extract an equivalent constraint-based formulation, thereby providing a rational reconstruction of a constraint-based control-flow analysis from abstract interpretation principles.