Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science 2018
DOI: 10.1145/3209108.3209174
|View full text |Cite
|
Sign up to set email alerts
|

ReLoC

Abstract: We present ReLoC: a logic for proving refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of our logic is a judgement e ≾ e ′ : τ , which expresses that a program e refines a program e ′ at type τ. In contrast to earlier work on refinements for languages with higher-order state and concurrency, ReLoC provides type-and structure-directed rules for manipulating this judgement, whereas previously, such proofs were carried out by unfol… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 38 publications
(4 citation statements)
references
References 37 publications
0
4
0
Order By: Relevance
“…Logical Relations. Logical relations have been studied extensively in the context of Iris, for type safety of type systems [22,27,34], program refinement [16,34,35,44,48], robust safety [43], and non-interference [17]. The most immediately related work in this area is the RustBelt project [27], which uses logical relations to prove type safety and dataracefreedom of a large subset of Rust and its standard libraries, focusing on Rust's lifetime and borrowing mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…Logical Relations. Logical relations have been studied extensively in the context of Iris, for type safety of type systems [22,27,34], program refinement [16,34,35,44,48], robust safety [43], and non-interference [17]. The most immediately related work in this area is the RustBelt project [27], which uses logical relations to prove type safety and dataracefreedom of a large subset of Rust and its standard libraries, focusing on Rust's lifetime and borrowing mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…Linearizability. In a relational flavor of separation logics [Frumin et al 2018;Liang et al 2012;Turon et al 2013], and more generally, in the work on proving linearizability [Bouajjani et al 2017;Gu et al 2015Gu et al , 2018Henzinger et al 2013;Khyzha et al 2017;Liang and Feng 2013;Schellhorn et al 2012], the goal is to explicitly relate two programs, typically one concurrent, the other sequential. The sequential program then serves as a spec for the concurrent one, and can replace it in any larger context.…”
Section: Related Workmentioning
confidence: 99%
“…There exist many solutions to the problem, roughly divided into two kinds: linearizability [Herlihy and Wing 1990], or more generally contextual refinement [Filipović et al 2010a;Liang and Feng 2018;Liang et al 2014], and Concurrent Separation Logic (CSL) [Brookes 2007;O'Hearn 2007], and its many recent extensions to fine-grained (i.e., lock-free) concurrency [da Rocha Pinto et al 2014;Dinsdale-Young et al 2010;Jung et al 2015;Nanevski et al 2014;Svendsen and Birkedal 2014;Svendsen et al 2013]. More recently, some approaches [Frumin et al 2018;Turon et al 2013] employed variants of separation logic to establish linearizability and contextual refinement themselves, suggesting separation logic as a general-purpose method for reasoning about concurrent programs.…”
Section: Introductionmentioning
confidence: 99%
“…There has been a rich line of work on developing type systems and language safety properties using foundational methods [Ahmed 2006;Appel and McAllester 2001;Appel et al 2007;Frumin et al 2018;Jung et al 2017, etc.]. The foundational approach develops the typing rules of a language as theorems in an expressive logic.…”
Section: Soundnessmentioning
confidence: 99%