Journal Article10.1145/2034574.2034831
A kripke logical relation for effect-based program transformations
Jacob Thamsborg,Lars Birkedal +1 more
- 19 Sep 2011
- Vol. 46, Iss: 9, pp 445-456
TL;DR: A Kripke logical relation is presented for showing the correctness of program transformations based on a type-and-effect system for an ML-like programming language with higher-order store and dynamic allocation and how to use this model to verify a number of interesting program transformations that rely on effect annotations.
read more
Abstract: We present a Kripke logical relation for showing the correctness of program transformations based on a type-and-effect system for an ML-like programming language with higher-order store and dynamic allocation.We show how to use our model to verify a number of interesting program transformations that rely on effect annotations.Our model is constructed as a step-indexed model over the standard operational semantics of the programming language. It extends earlier work [7, 8]that has considered, respectively, dynamically allocated first-order references and higher-order store for global variables (but no dynamic allocation). It builds on ideas from region-based memory management [21], and on Kripke logical relations for higher-order store [12, 14].Our type-and-effect system is region-based and includes a region-masking rule which allows to hide local effects. One of the key challenges in the model construction for dynamically allocated higher-order store is that the meaning of a type may change since references, conceptually speaking, may become dangling due to region-masking. We explain how our Kripke model can be used to show correctness of program transformations for programs involving references that, conceptually, are dangling.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Parametric effect monads and semantics of effect systems
Shin-ya Katsumata
- 08 Jan 2014
TL;DR: Fundamental properties of a generalisation of monad called parametric effect monad are studied, and they are applied to the interpretation of general effect systems whose effects have sequential composition operators.
127
Algebraic foundations for effect-dependent optimisations
Ohad Kammar,Gordon Plotkin +1 more
- 25 Jan 2012
TL;DR: This work develops an annotated version of Levy's Call-by-Push-Value language with a kind of computations for every effect set, and develops a range of validated optimisations, generalising many existing ones and adding new ones.
118
The marriage of bisimulations and Kripke logical relations
Chung-Kil Hur,Derek Dreyer,Georg Neis,Viktor Vafeiadis +3 more
- 25 Jan 2012
TL;DR: RTSs show how bisimulations' support for reasoning about recursive features via *coinduction* can be synthesized with KLRs' support about local state via *state transition systems*, and designed to avoid the limitations of KLRs and bisimulation that preclude their generalization to inter-language reasoning.
Parametric effect monads and semantics of effect systems
TL;DR: In this article, the authors study fundamental properties of a generalisation of monads called parametric effect monad, and apply it to the interpretation of general effect systems whose effects have sequential composition.
61
StkTokens: enforcing well-bracketed control flow and stack encapsulation using linear capabilities
Lau Skorstengaard,Dominique Devriese,Lars Birkedal +2 more
- 02 Jan 2019
TL;DR: A new way to formalize and prove that it effectively enforces well-bracketed control flow and local state encapsulation using what the authors call a fully abstract overlay semantics is contributed.
51
References
•Book
Advanced Topics in Types and Programming Languages
Benjamin C. Pierce
- 01 Dec 2004
TL;DR: Topics covered include precise type analyses, which extend simple type systems to give them a better grip on the run time behavior of systems; type systems for low-level languages; applications of types to reasoning about computer programs; type theory as a framework for the design of sophisticated module systems; and advanced techniques in ML-style type inference.
Chapter 9 – Types
Raymond Turner
- 01 Jan 1997
TL;DR: Three different versions of the typed lambda calculus that differ from each other according to the rigidity of the attachment between terms and types are considered in the chapter.
184
•Journal Article
Solving reflexive domain equations in a category of complete metric spaces
Pierre America,Jan Rutten +1 more
TL;DR: In this paper, the authors present a technique by which solutions to reflexive domain equations can be found in a certain category of complete metric spaces, where the objects in this category are the (nonempty) metric spaces and the arrows consist of two maps: an isometric embedding and a non-distance-increasing left inverse to it.
97
Logical relations for fine-grained concurrency
Aaron Turon,Jacob Thamsborg,Amal Ahmed,Lars Birkedal,Derek Dreyer +4 more
- 23 Jan 2013
TL;DR: A new semantic model is proposed, based on Kripke logical relations, that supports direct proofs of contextual refinement in the setting of a type-safe high-level language and provides a simple way of expressing the "local life stories" of individual pieces of an FCD's hidden state by means of protocols that the threads concurrently accessing that state must follow.
Fictional separation logic
Jonas Braband Jensen,Lars Birkedal +1 more
- 24 Mar 2012
TL;DR: Fictional separation logic is introduced, which includes more general forms of fictional separating conjunctions P * Q, where * does not require physical separation, but may also be used in situations where the memory resources described by P and Q overlap.
Related Papers (5)
Amal Ahmed,Derek Dreyer,Andreas Rossberg +2 more
- 21 Jan 2009
David K. Gifford,John M. Lucassen +1 more
- 08 Aug 1986