Reasoning about program behaviour in programming languages based on the λ calculus requires reasoning in a unified way about control, data and environment structure. Previous analysis work has done an inadequate job on the environment component of this task. We develop a new analytic framework, ΔCFA, which is based on a new abstraction: frame strings, an enriched variant of procedure strings that can be used to model both control flow and environment allocation. This abstraction enables new environment-sensitive analyses and transformations that have not been previously attainable. We state the critical theorems needed to establish correctness of the entire technology suite, with their proofs. © 2007 Elsevier Ltd. All rights reserved.
Might, M., & Shivers, O. (2007). Analyzing the environment structure of higher-order languages using frame strings. Theoretical Computer Science, 375(1–3), 137–168. https://doi.org/10.1016/j.tcs.2006.12.031