TY - JOUR
T1 - Control-flow analysis of function calls and returns by abstract interpretation
AU - Midtgaard, Jan
AU - Jensen, Thomas P.
PY - 2012/2/1
Y1 - 2012/2/1
N2 - 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 CaEK 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.
AB - 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 CaEK 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.
KW - Abstract interpretation
KW - Control-flow analysis
UR - http://www.scopus.com/inward/record.url?scp=84855288764&partnerID=8YFLogxK
U2 - 10.1016/j.ic.2011.11.005
DO - 10.1016/j.ic.2011.11.005
M3 - Journal article
AN - SCOPUS:84855288764
VL - 211
SP - 49
EP - 76
JO - Information and Computation
JF - Information and Computation
SN - 0890-5401
ER -