CPS transformation of flow information, Part II: administrative reductions

2003 Journal of functional programming  
We characterize the impact of a linear β-reduction on the result of a control-flow analysis. (By 'a linear β-reduction' we mean the β-reduction of a linear λ-abstraction, i.e., of a λabstraction whose parameter occurs exactly once in its body.) As a corollary, we consider the administrative reductions of a Plotkin-style transformation into Continuation-Passing Style (CPS), and how they affect the result of a constraint-based control-flow analysis and, in particular, the least element in the
more » ... e of solutions. We show that administrative reductions preserve the least solution. Preservation of least solutions solves a problem that was left open in Palsberg and Wand's article 'CPS Transformation of Flow Information.' Together, Palsberg and Wand's article and the present article show how to map in linear time the least solution of the flow constraints of a program into the least solution of the flow constraints of the CPS counterpart of this program, after administrative reductions. Furthermore, we show how to CPS transform control-flow information in one pass.
doi:10.1017/s0956796803004702 fatcat:pvbphomkcvazxk4j3gft3bo7xu