English
Related papers

Related papers: Relational Parametricity and Separation Logic

200 papers

Recently, data abstraction has been studied in the context of separation logic, with noticeable practical successes: the developed logics have enabled clean proofs of tricky challenging programs, such as subject-observer patterns, and they…

Programming Languages · Computer Science 2015-07-01 Jacob Thamsborg , Lars Birkedal , Hongseok Yang

Separation logic is a substructural logic which has proved to have numerous and fruitful applications to the verification of programs working on dynamic data structures. Recently, Barthe, Hsu and Liao have proposed a new way of giving…

Cryptography and Security · Computer Science 2024-05-21 Ugo Dal Lago , Davide Davoli , Bruce M. Kapron

Separation logic is a Hoare-style logic for reasoning about programs with heap-allocated mutable data structures. As a step toward extending separation logic to high-level languages with ML-style general (higher-order) storage, we…

Logic in Computer Science · Computer Science 2015-07-01 Jan Schwinghammer , Lars Birkedal , Bernhard Reus , Hongseok Yang

Separation Logic is an effective Program Logic for proving programs that involve pointers. Reasoning with pointers becomes difficult especially when there is aliasing arising due to several pointers to a given cell location. In this paper,…

Logic in Computer Science · Computer Science 2017-04-07 Abhishek Kr Singh , Raja Natrajan

Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs…

Logic in Computer Science · Computer Science 2016-11-29 Anindya Banerjee , David A. Naumann , Mohammad Nikouei

Separation logic is a concise method for specifying programs that manipulate dynamically allocated storage. Partially inspired by separation logic, Implicit Dynamic Frames has recently been proposed, aiming at first-order tool support. In…

Programming Languages · Computer Science 2015-07-01 Matthew J. Parkinson , Alexander J. Summers

Hoare's logic is an axiomatic system of proving programs correct, which has been extended to be a separation logic to reason about mutable heap structure. We develop the most fundamental logical structure of strongest postcondition of…

Logic in Computer Science · Computer Science 2013-11-20 Zhaowei Xu

Separation logic and its variants can describe various properties on pointer programs. However, when it comes to properties on sequences, one may find it hard to formalize. To deal with properties on variable-length sequences and multilevel…

Logic in Computer Science · Computer Science 2023-02-09 Tianyue Cao , Bowen Zhang , Zhao Jin , Yongzhi Cao , Hanpin Wang

Relational Hoare logics (RHL) provide rules for reasoning about relations between programs. Several RHLs include a rule we call sequential product that infers a relational correctness judgment from judgments of ordinary Hoare logic (HL).…

Logic in Computer Science · Computer Science 2021-05-03 Ramana Nagasamudram , David A. Naumann

According to Strachey, a polymorphic program is parametric if it applies a uniform algorithm independently of the type instantiations at which it is applied. The notion of relational parametricity, introduced by Reynolds, is one possible…

Programming Languages · Computer Science 2019-03-14 Rasmus Ejlers Møgelberg , Alex Simpson

Logical relations built on top of an operational semantics are one of the most successful proof methods in programming language semantics. In recent years, more and more expressive notions of operationally-based logical relations have been…

Logic in Computer Science · Computer Science 2024-08-07 Francesco Dagnino , Francesco Gavazzo

Abstraction logic is a new logic, serving as a foundation of mathematics. It combines features of both predicate logic and higher-order logic: abstraction logic can be viewed both as higher-order logic minus static types as well as…

Logic in Computer Science · Computer Science 2022-07-13 Steven Obua

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

Separation Logic is a widely used formalism for describing dynamically allocated linked data structures, such as lists, trees, etc. The decidability status of various fragments of the logic constitutes a long standing open problem. Current…

Logic in Computer Science · Computer Science 2013-04-02 Radu Iosif , Adam Rogalewicz , Jiri Simacek

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Noah Torp-Smith , Hongseok Yang

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo

We study transformational program logics for correctness and incorrectness that we extend to explicitly handle both termination and nontermination. We show that the logics are abstract interpretations of the right image transformer for a…

Logic in Computer Science · Computer Science 2023-11-27 Patrick Cousot

We introduce a variation on Barthe et al.'s higher-order logic in which formulas are interpreted as predicates over open rather than closed objects. This way, concepts which have an intrinsically functional nature, like continuity,…

Logic in Computer Science · Computer Science 2022-11-22 Ugo Dal Lago , Francesco Gavazzo , Alexis Ghyselen

We present Polaris, a concurrent separation logic with support for probabilistic reasoning. As part of our logic, we extend the idea of coupling, which underlies recent work on probabilistic relational logics, to the setting of programs…

Programming Languages · Computer Science 2018-11-22 Joseph Tassarotti , Robert Harper

Logic programming is sometimes described as relational programming: a paradigm in which the programmer specifies and composes n-ary relations using systems of constraints. An advanced logic programming environment will provide tools that…

Programming Languages · Computer Science 2009-03-16 Andy King
‹ Prev 1 2 3 10 Next ›