Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2012
DOI: 10.1145/2103656.2103666
|View full text |Cite
|
Sign up to set email alerts
|

The marriage of bisimulations and Kripke logical relations

Abstract: There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages-that is, languages that combine features like higher-order functions, recursive types, abstract types, and general mutable references. Two of the most prominent types of techniques to have emerged are bisimulations and Kripke logical relations (KLRs). While both approaches are powerful, their complementary advantages have led us and other researchers to wonder whether th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
46
0

Year Published

2012
2012
2022
2022

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 59 publications
(47 citation statements)
references
References 43 publications
1
46
0
Order By: Relevance
“…Hur and Dreyer [2011] devised a correct compiler from an idealised ML to assembly. The techniques devised in these works were further developed into Relational Transition Systems (RTS) and Parametric Inter-Language Simulations (PILS) in order to prove both vertically-and horizontally-composable compiler correctness [Hur et al, 2012, Neis et al, 2015. A different approach to cross-language relations could have been adopting a Matthews and Findler-style multi-language semantics, where source and target language are combined [Matthews and Findler, 2009].…”
Section: Related Workmentioning
confidence: 99%
“…Hur and Dreyer [2011] devised a correct compiler from an idealised ML to assembly. The techniques devised in these works were further developed into Relational Transition Systems (RTS) and Parametric Inter-Language Simulations (PILS) in order to prove both vertically-and horizontally-composable compiler correctness [Hur et al, 2012, Neis et al, 2015. A different approach to cross-language relations could have been adopting a Matthews and Findler-style multi-language semantics, where source and target language are combined [Matthews and Findler, 2009].…”
Section: Related Workmentioning
confidence: 99%
“…Unlike CompComp, CompCertM generalizes open simulations and memory injections in a more abstract way following [Dreyer et al 2010;Hur et al 2012].…”
Section: Enriched Memorymentioning
confidence: 99%
“…Using interaction semantics, CompComp defines structured simulations relating two open modules. Here we briefly review the key ideas behind them, which also occurred elsewhere, e.g., in [Hur et al 2012;Kang et al 2015;Neis et al 2015]. First, unlike the closed simulations above, structured simulations explicitly specify value and memory relations (evolving over time) because values and memory are shared with external modules.…”
Section: Introductionmentioning
confidence: 99%
“…Logical relations and bisimulations. Many semantic techniques have been proposed for reasoning about relational properties such as observational equivalence, including techniques based on binary logical relations [Ahmed et al 2009;Benton et al 2009Benton et al , 2013Benton et al , 2014Dreyer et al 2010Dreyer et al , 2011Dreyer et al , 2012Mitchell 1986], bisimulations [Dal Lago et al 2017;Koutavas and Wand 2006;Sangiorgi et al 2011;Sumii 2009] and combinations thereof [Hur et al 2012[Hur et al , 2014. While these powerful techniques are often not directly automated, they can still be used for verification [Timany and Birkedal 2019] and for providing semantic correctness proofs for relational program logics [Dreyer et al 2010[Dreyer et al , 2011 and other verification tools [Benton et al 2016;Gavazzo 2018].…”
Section: Related Workmentioning
confidence: 99%
“…Formally verifying relational properties has a broad range of practical applications. For instance, one might be interested in proving that the observable behaviors of two programs are related, showing for instance that the programs are equivalent [Blanchet et al 2008;Chadha et al 2016;Ştefan Ciobâcă et al 2016;Godlin and Strichman 2010;Hur et al 2012Hur et al , 2014Kundu et al 2009;Timany et al 2018;Wang et al 2018;Yang 2007], or that one refines the other [Timany and Birkedal 2019]. In other cases, one might be interested in relating two runs of a single program, but, as soon as the control flow can differ between the two runs, the compositional verification problem becomes the same as relating two different programs.…”
Section: Introductionmentioning
confidence: 99%