2001
DOI: 10.7146/brics.v8i54.21715
|View full text |Cite
|
Sign up to set email alerts
|

Syntactic Accidents in Program Analysis: On the Impact of the CPS Transformation

Abstract: We show that a non-duplicating transformation into continuation-passing style (CPS) has no effect on control-flow analysis, a positive effect on bindingtime analysis for traditional partial evaluation, and no effect on binding-time analysis for continuation-based partial evaluation: a monovariant control-flow analysis yields equivalent results on a direct-style program and on its CPS counterpart, a monovariant binding-time analysis yields less precise results on a direct-style program than on its CPS counterpa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

2
28
0

Year Published

2001
2001
2012
2012

Publication Types

Select...
3
3
1

Relationship

3
4

Authors

Journals

citations
Cited by 12 publications
(30 citation statements)
references
References 32 publications
2
28
0
Order By: Relevance
“…They attributed increased precision to the duplication of continuations and decreased precision to the confusion of return points. It was later pointed out [43,122], however, that Sabry and Felleisen were comparing a flow-sensitive analysis to a flow-insensitive analysis.…”
Section: Prior Term Transformationmentioning
confidence: 99%
See 1 more Smart Citation
“…They attributed increased precision to the duplication of continuations and decreased precision to the confusion of return points. It was later pointed out [43,122], however, that Sabry and Felleisen were comparing a flow-sensitive analysis to a flow-insensitive analysis.…”
Section: Prior Term Transformationmentioning
confidence: 99%
“…Damian and Danvy [43] proved that a non-duplicating CPS transformation does not affect the precision of a flow-insensitive textbook 0-CFA. They also proved that CPS transformation can improve and does not degrade the precision of binding-time analysis.…”
Section: Prior Term Transformationmentioning
confidence: 99%
“…Meyer and Wand [11] have shown that typability is preserved by CPS transformation, and Damian and Danvy [4] and Palsberg and Wand [25] have shown that a set-based flow analysis is preserved by CPS transformation. Examples of end-to-end type-preserving compilers with proofs include the TIL compiler of Tarditi et al [33] and the compiler from System F to typed assembly language of Morrisett, Walker, Crary, and Glew [13].…”
Section: Correctnessmentioning
confidence: 99%
“…Example: Suppose the example program has four dependencies, namely, that v += u must begin executing no earlier than 1 cycle after u := c u and v := c v have begun executing, and that y += x must begin executing no earlier than 1 cycle after x := c x and y := c y have begun executing, i.e., Depn= { (3, 4, 1, 2, 1), (3, 4, 2, 3, 1), (6,7,4,5,1), (6,7,5,6, 1) }. With R = 2, the optimal solution to the ILP obtained from the above ILP formulation and the example program yields a target program with schedule length 3.…”
Section: Instruction Schedulingmentioning
confidence: 99%
“…Transforming functional programs into continuation-passing style (CPS) is a classical topic, with a long publication history [2,4,8,9,11,15,17,18,20,23,24,25,26,29,30,31,32,33,35,38,41,42,43,44,45,46,47,48,49,50,52], 1 including chapters in programming-languages textbooks [1,21,40], and many applications. Yet no standard algorithm for CPS transformation has emerged, and this lack contributes to maintaining continuations, CPS, and CPS transformations as mystifying artefacts in the land of programming and programming languages.…”
Section: Introductionmentioning
confidence: 99%