## Stratified Operational Semantics for Safety and Correctness of The Region Calculus (2001)

Venue: | In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’01 |

Citations: | 22 - 1 self |

### BibTeX

@INPROCEEDINGS{Calcagno01stratifiedoperational,

author = {Cristiano Calcagno},

title = {Stratified Operational Semantics for Safety and Correctness of The Region Calculus},

booktitle = {In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’01},

year = {2001},

pages = {155--165},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

The region analysis of Tofte and Talpin is an attempt to determine statically the life span of dynamically allocated objects. But the calculus is at once intuitively simple, yet deceptively subtle, and previous theoretical analyses have been frustratingly complex: no analysis has revealed and explained in simple terms the connection between the subtleties of the calculus and the imperative features it builds on. We present a novel approach for proving safety and correctness of a simplified version of the region calculus. We give a stratified operational semantics, composed of a high-level semantics dealing with the conceptual difficulties of effect annotations, and a low-level one with explicit operations on a region-indexed store. The main results of the paper are a proof simpler than previous ones, and a modular approach to type safety and correctness. The flexibility of this approach is demonstrated by the simplicity of the extension to the full calculus with type and region polymorphism.

### Citations

1093 | Proof-carrying code
- Necula
- 1997
(Show Context)
Citation Context ... operations involving regions. Here the idea would be to compile types into logical properties that express safety requirements, in the spirit of Typed Assembly Languages [14] and Proof-Carrying Code =-=[15]-=-. Acknowledgements We would like to thank Lars Birkedal, Peter O'Hearn, Eugenio Moggi and the anonymous referees for their useful comments and suggestions. Lars Birkedal and Peter O'Hearn read and com... |

588 | From System F to Typed Assembly Language
- Morrisett, Walker, et al.
- 1999
(Show Context)
Citation Context ...or a more abstract account of operations involving regions. Here the idea would be to compile types into logical properties that express safety requirements, in the spirit of Typed Assembly Languages =-=[14]-=- and Proof-Carrying Code [15]. Acknowledgements We would like to thank Lars Birkedal, Peter O'Hearn, Eugenio Moggi and the anonymous referees for their useful comments and suggestions. Lars Birkedal a... |

280 | Region-based memory management - Tofte, Talpin - 1997 |

194 | Typed Memory Management in a Calculus of Capabilities
- Crary, Walker, et al.
- 1999
(Show Context)
Citation Context ...to obtain a better understanding of its subtleties. In [2] a connection is drawn between the region calculus and a polymorphic lambda calculus extended with an operator on types for encapsulation. In =-=[9]-=- a calculus is presented with strong similarities with the region calculus, and a type preservation result is proved. More recently, [10] considers a translation of the region calculus into an extensi... |

149 | BI as an assertion language for mutable data structures
- Ishtiaq, O’Hearn
- 2001
(Show Context)
Citation Context ...n calculi. We have stressed the connection between the diculties of the region calculus and imperative features like pointers. Recent advances in program logics for imperative languages with pointers =-=[16, 8, 7, 12-=-] could be protably adapted for a more abstract account of operations involving regions. Here the idea would be to compile types into logical properties that express safety requirements, in the spirit... |

107 | Intuitionistic reasoning about shared mutable data structure
- Reynolds
- 2000
(Show Context)
Citation Context ...n calculi. We have stressed the connection between the diculties of the region calculus and imperative features like pointers. Recent advances in program logics for imperative languages with pointers =-=[16, 8, 7, 12-=-] could be protably adapted for a more abstract account of operations involving regions. Here the idea would be to compile types into logical properties that express safety requirements, in the spirit... |

105 | Compiling Standard ML to Java byte-codes - Benton, Kennedy, et al. - 1998 |

99 | Proving pointer programs in Hoare logic
- Bornat
- 2000
(Show Context)
Citation Context ...n calculi. We have stressed the connection between the diculties of the region calculus and imperative features like pointers. Recent advances in program logics for imperative languages with pointers =-=[16, 8, 7, 12-=-] could be protably adapted for a more abstract account of operations involving regions. Here the idea would be to compile types into logical properties that express safety requirements, in the spirit... |

89 | static memory management: Improving regionbased analysis of higher-order languages
- Aiken, Fahndrich, et al.
- 1995
(Show Context)
Citation Context ...or reclaiming memory insxed position inside the code generated during compilation. This is the approach adopted in the design of region and eect systems [17] and in particular in the region calculus [=-=19, 20, 18, 5, 6, 1-=-], extending traditional type systems with regions and eects annotations. The syntax of the region calculus extends the call-by-value typed lambda calculus with region annotations and a construct for ... |

89 | From region inference to von Neumann machines via region representation inference
- Birkedal, Tofte, et al.
- 1996
(Show Context)
Citation Context ...or reclaiming memory insxed position inside the code generated during compilation. This is the approach adopted in the design of region and eect systems [17] and in particular in the region calculus [=-=19, 20, 18, 5, 6, 1-=-], extending traditional type systems with regions and eects annotations. The syntax of the region calculus extends the call-by-value typed lambda calculus with region annotations and a construct for ... |

70 | A region inference algorithm
- Tofte, Birkedal
- 1998
(Show Context)
Citation Context ...or reclaiming memory insxed position inside the code generated during compilation. This is the approach adopted in the design of region and eect systems [17] and in particular in the region calculus [=-=19, 20, 18, 5, 6, 1-=-], extending traditional type systems with regions and eects annotations. The syntax of the region calculus extends the call-by-value typed lambda calculus with region annotations and a construct for ... |

46 |
Implementation of the typed call-by-value lambda-calculus using a stack of regions
- Tofte, Talpin
- 1994
(Show Context)
Citation Context |

30 | Polymorphic eect systems - Lucassen, Giord - 1988 |

28 | Region analysis and the polymorphic lambda calculus
- Banerjee, Heintze, et al.
- 1999
(Show Context)
Citation Context ...ness. The desire for a simpler proof of safety for the region calculus has inspired researchers tosnd connections with other frameworks in order to obtain a better understanding of its subtleties. In =-=[2]-=- a connection is drawn between the region calculus and a polymorphic lambda calculus extended with an operator on types for encapsulation. In [9] a calculus is presented with strong similarities with ... |

23 |
Polymorphic type, region and e#ect inference
- Talpin, Jouvelot
- 1992
(Show Context)
Citation Context ... useless, and add (constant-time) operations for reclaiming memory insxed position inside the code generated during compilation. This is the approach adopted in the design of region and eect systems [=-=17-=-] and in particular in the region calculus [19, 20, 18, 5, 6, 1], extending traditional type systems with regions and eects annotations. The syntax of the region calculus extends the call-by-value typ... |

18 | Syntactic type soundness for the region calculus
- Helsen, Thiemann
- 2000
(Show Context)
Citation Context ...would be interesting to investigate if our stratied approach could be adopted also for that calculus. After the submission of this paper, we learned of another soundness proof by Helsen and Thiemann [=-=11-=-]. They consider a big-step high-level semantics with remarkable similarities to our own. The main dierences are that they introduce a special constant for defunct regions, instead of propagating a se... |

17 | Semantic analysis of pointer aliasing, allocation and disposal in Hoare logic
- Calcagno, Ishtiaq, et al.
- 2000
(Show Context)
Citation Context |

6 |
Region analysis and a -calculus with groups
- Zilio, Gordon
- 2000
(Show Context)
Citation Context ...lculus extended with an operator on types for encapsulation. In [9] a calculus is presented with strong similarities with the region calculus, and a type preservation result is proved. More recently, =-=[1-=-0] considers a translation of the region calculus into an extension of -calculus with groups, and shows that the correctness of region de-allocation is a specic instance of a garbage collection princi... |

4 | Analysis and transformation - Benton, Kennedy - 1999 |