We show that a non-duplicating CPS transformation has no effect on control-
flow analysis and that it has a positive effect on binding-time analysis: a
monovariant control-how analysis yields equivalent results on a direct-sty
le program and on its CPS counterpart, and a monovariant binding-time analy
sis yields more precise results on a CPS program than on its direct-style c
ounterpart. Our proof technique amounts to constructing the continuation-pa
ssing style (CPS) counterpart of flow information and of binding times.
Our results confirm a folklore theorem about binding-time analysis, namely
that CPS has a positive effect on binding times. What may be more surprisin
g is that this benefit holds even if contexts or continuations are not dupl
icated.
The present study is symptomatic of an unsettling property of program analy
ses: their quality is unpredictably vulnerable to syntactic accidents in so
urce programs, i.e., to the way these programs are written. More reliable p
rogram analyses require a better understanding of the effect of syntactic c
hange.