We present a new version of ReLoC: a relational separation logic for proving refinements of programs with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of ReLoC is its refinement judgment $e \precsim e' : \tau$, which states that a program $e$ refines a program $e'$ at type $\tau$. ReLoC provides type-directed structural rules and symbolic execution rules in separation-logic style for manipulating the judgment, whereas in prior work on refinements for languages with higher-order state and concurrency, such proofs were carried out by unfolding the judgment into its definition in the model. ReLoC's abstract proof rules make it simpler to carry out refinement proofs, and enable us to generalize the no...
We present a logical relation for showing the correctness of program transformations based on a new ...
Early in the development of Hoare logic, Owicki and Gries introduced auxiliary variables as a way of...
Matching logic allows to specify structural properties about program configurations by means of spe...
We present a new version of ReLoC: a relational separation logic for proving refinements of programs...
Contains fulltext : 235963.pdf (Publisher’s version ) (Open Access
We present a new version of ReLoC: a relational separation logic for proving refinements of programs...
Contains fulltext : 199896.pdf (preprint version ) (Open Access)LICS ’18: 33rd An...
Relational program verification is a variant of program verification where one can reason about two ...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
Relational Hoare logics extend the applicability of modular, deductive verification to encompass imp...
International audienceProgram differences are usually represented as textual differences on source c...
In this paper we present a theory for the refinement of shared-memory concurrent algorithms from spe...
The field of concurrent separation logics (CSLs) has recently undergone two exciting developments: (...
AbstractIn this paper, we present a Hoare-style logic for specifying and verifying how two pointer p...
Program equivalence is the fulcrum for reasoning about and proving properties of programs. For nonin...
We present a logical relation for showing the correctness of program transformations based on a new ...
Early in the development of Hoare logic, Owicki and Gries introduced auxiliary variables as a way of...
Matching logic allows to specify structural properties about program configurations by means of spe...
We present a new version of ReLoC: a relational separation logic for proving refinements of programs...
Contains fulltext : 235963.pdf (Publisher’s version ) (Open Access
We present a new version of ReLoC: a relational separation logic for proving refinements of programs...
Contains fulltext : 199896.pdf (preprint version ) (Open Access)LICS ’18: 33rd An...
Relational program verification is a variant of program verification where one can reason about two ...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
Relational Hoare logics extend the applicability of modular, deductive verification to encompass imp...
International audienceProgram differences are usually represented as textual differences on source c...
In this paper we present a theory for the refinement of shared-memory concurrent algorithms from spe...
The field of concurrent separation logics (CSLs) has recently undergone two exciting developments: (...
AbstractIn this paper, we present a Hoare-style logic for specifying and verifying how two pointer p...
Program equivalence is the fulcrum for reasoning about and proving properties of programs. For nonin...
We present a logical relation for showing the correctness of program transformations based on a new ...
Early in the development of Hoare logic, Owicki and Gries introduced auxiliary variables as a way of...
Matching logic allows to specify structural properties about program configurations by means of spe...