## A new criterion for safe program transformations (2000)

### Cached

### Download Links

- [www.score.is.tsukuba.ac.jp]
- [www.score.is.tsukuba.ac.jp]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proceedings of the Forth International Workshop on Higher Order Operational Techniques in Semantics (HOOTS), volume 41(3) of ENTCS |

Citations: | 4 - 2 self |

### BibTeX

@INPROCEEDINGS{Minamide00anew,

author = {Yasuhiko Minamide},

title = {A new criterion for safe program transformations},

booktitle = {In Proceedings of the Forth International Workshop on Higher Order Operational Techniques in Semantics (HOOTS), volume 41(3) of ENTCS},

year = {2000},

publisher = {Elsevier}

}

### OpenURL

### Abstract

Previous studies on safety of program transformations with respect to performance considered two criteria: preserving performance within a constant factor and preserving complexity. However, as the requirement of program transformations used in compilers the former seems too restrictive and the latter seems too loose. We propose a new safety criterion: a program transformation preserves performance within a factor proportional to the size of a source program. This criterion seems natural since several compilation methods have effects on performance proportional to the size of a program. Based on this criterion we have shown that two semantics formalizing the size of stack space are equivalent. We also discuss the connection between this criterion and the properties of local program transformations rewriting parts of a program. 1

### Citations

620 |
Compiling with Continuations
- Appel
- 1992
(Show Context)
Citation Context ...tes. We call this semantics for specifying space required for execution of a program space semantics. Let us now review two space safety criteria of program transformations discussed in previous work =-=[1,3,8]-=-. In this paper, we consider a program transformation as a binary relation between programs in a source language and a target language. Let us consider a program transformation ❀ between a source lang... |

268 | The essence of compiling with continuations
- Flanagan, Sabry, et al.
- 1993
(Show Context)
Citation Context ...he application V1V2 represents tail calls and the application in let x = V1V2 in M represents non-tail calls. The semantics of this language is naturally given by the CaEK Machine defined in Figure 3 =-=[5]-=-. In this operational semantics continuation clearly 9sTransition Rules: Minamide State S = 〈M,E, K〉 Continuation K = stop | 〈ar x, M, E, K〉 〈v, E, 〈ar x, M, E ′ ,K ′ 〉〉 ↦→ 〈M,E ′ [γ(v, E)/x],K ′ 〉 〈l... |

227 | TIL: A TypeDirected Optimizing Compiler for ML
- Tarditi, Morrisett, et al.
- 1996
(Show Context)
Citation Context ...of safe program transformations. There is an implementation strategy of ML that is not space efficient, but is space safe. That is the implementation strategy that uses types as parameters at runtime =-=[10,13]-=-. This is because the extra work and space necessary for type parameters cannot be bounded by any constant. Furthermore, this implementation strategy is not even weakly space efficient, because the ty... |

81 | Representing control: A study of the CPS transformation
- Danvy, Filinski
- 1992
(Show Context)
Citation Context ...mantics of this language as follows: space A(M) =n if 〈M,∅, stop〉 ↦→∗ 〈V,E ′′ , stop〉 and n is the maximum size of the states in the transition. A-normalization can be defined as one pass translation =-=[5,4]-=-. In the following definition, we use a two-level lambda calculus where λ and @ are meta-level abstraction and application. ||M||Aκ translates expressions at non-tail call positions and ||M|| ′ A tran... |

70 | A Provable Time and Space efficient implementation of NESL
- Blelloch, Greiner
- 1996
(Show Context)
Citation Context ...mantics formalizing space requirements. In the study of the CPS transformation, it was necessary to revise the space profiling semantics of a call-by-value functional language by Blelloch and Greiner =-=[3]-=-, to show that this transformation satisfies this criterion [8]. The second criterion is space safety: a program transformation is space safe if it does not raise the complexity of programs. Clearly, ... |

65 | Flexible representation analysis
- Shao
- 1997
(Show Context)
Citation Context ...they are safe with respect to performance. In fact, some program transformations have been shown to improve the performance of most programs, while degrading the performance of some programs severely =-=[9,12]-=-. To remedy this situation, several papers have discussed the safety of program transformations based on semantics formalizing the performance of programs [7,6,11,2,8]. In those studies, two safety cr... |

32 | Compilation by transformation in non-strict functional languages
- Santos
- 1996
(Show Context)
Citation Context ... performance of some programs severely [9,12]. To remedy this situation, several papers have discussed the safety of program transformations based on semantics formalizing the performance of programs =-=[7,6,11,2,8]-=-. In those studies, two safety criteria for whole-program transformations were discussed. However, these criteria do not seem appropriate to impose on program transformations used in compilers, for re... |

18 | A foundation for space-safe transformations of call-by-need programs
- Gustavsson, Sands
- 1999
(Show Context)
Citation Context ... performance of some programs severely [9,12]. To remedy this situation, several papers have discussed the safety of program transformations based on semantics formalizing the performance of programs =-=[7,6,11,2,8]-=-. In those studies, two safety criteria for whole-program transformations were discussed. However, these criteria do not seem appropriate to impose on program transformations used in compilers, for re... |

17 | A provably time-efficient parallel implementation of full speculation
- Greiner, Blelloch
- 1999
(Show Context)
Citation Context ... performance of some programs severely [9,12]. To remedy this situation, several papers have discussed the safety of program transformations based on semantics formalizing the performance of programs =-=[7,6,11,2,8]-=-. In those studies, two safety criteria for whole-program transformations were discussed. However, these criteria do not seem appropriate to impose on program transformations used in compilers, for re... |

16 | On the runtime complexity of typedirected unboxing - Minamide, Garrigue - 1998 |

8 | Space-profiling semantics of the call-by-value lambda calculus and the cps transformation
- Minamide
- 1999
(Show Context)
Citation Context |

6 | A model for comparing the space usage of lazy evaluators
- Bakewell, Runciman
- 2000
(Show Context)
Citation Context |

6 | A provably time and space e#cient implementation of NESL - Blelloch, Greiner - 1996 |

5 | Type inference with rank 1 polymorphism for typedirected compilation of ML
- Ohori, Yoshida
- 1999
(Show Context)
Citation Context ...of safe program transformations. There is an implementation strategy of ML that is not space efficient, but is space safe. That is the implementation strategy that uses types as parameters at runtime =-=[10,13]-=-. This is because the extra work and space necessary for type parameters cannot be bounded by any constant. Furthermore, this implementation strategy is not even weakly space efficient, because the ty... |

3 | A provably time-e#cient parallel implementation of full speculation, in - Greiner, Blelloch - 1996 |