English
Related papers

Related papers: Specifying Concurrent Programs in Separation Logic…

200 papers

Separation logic was conceived in order to make the verification of pointer programs scalable to large systems and it has proven extremely effective. The key idea is that programs typically access only small parts of memory, allowing for…

Logic in Computer Science · Computer Science 2025-08-05 Berend van Starkenburg , Henning Basold , Chase Ford

Difference constraints have been used for termination analysis in the literature, where they denote relational inequalities of the form x' <= y + c, and describe that the value of x in the current state is at most the value of y in the…

Programming Languages · Computer Science 2015-08-21 Moritz Sinn , Florian Zuleger , Helmut Veith

We consider concurrent systems consisting of a finite but unknown number of components, that are replicated instances of a given set of finite state automata. The components communicate by executing interactions which are simultaneous…

Formal Languages and Automata Theory · Computer Science 2019-02-08 Marius Bozga , Radu Iosif , Joseph Sifakis

Parametricity states that polymorphic functions behave the same regardless of how they are instantiated. When developing polymorphic programs, Wadler's free theorems can serve as free specifications, which can turn otherwise partial…

Programming Languages · Computer Science 2024-07-09 Niek Mulleners , Johan Jeuring , Bastiaan Heeren

We consider the problem of automatically proving resource bounds. That is, we study how to prove that an integer-valued resource variable is bounded by a given program expression. Automatic resource-bound analysis has recently received…

Programming Languages · Computer Science 2021-10-15 Tianhan Lu , Bor-Yuh Evan Chang , Ashutosh Trivedi

A temporal logic is presented for reasoning about the correctness of timed concurrent constraint programs. The logic is based on modalities which allow one to specify what a process produces as a reaction to what its environment inputs.…

Logic in Computer Science · Computer Science 2007-05-23 F. S. de Boer , M. Gabbrielli , M. C. Meo

The purpose of this paper is to address some of the challenges of formally specifying components of shared-memory concurrent programs. The focus is to provide an abstract specification of a component that is suitable for use both by clients…

Programming Languages · Computer Science 2018-10-24 Ian J. Hayes

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

We present a lattice of distributed program specifications, whose ordering represents implementability/refinement. Specifications are modelled by families of subsets of relative execution traces, which encode the local orderings of state…

Logic in Computer Science · Computer Science 2023-04-25 Nasos Evangelou-Oost , Callum Bannister , Ian J. Hayes

A central concept within informatics is in modelling such systems for the purpose of reasoning (perhaps automated) about their behaviour and properties. To this end, one requires an interpretation of logical formulae in terms of the…

Logic in Computer Science · Computer Science 2024-05-13 Alexander V. Gheorghiu , Tao Gu , David J. Pym

Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as…

Logic in Computer Science · Computer Science 2017-01-19 Germán Andrés Delbianco , Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

We introduce the logic LRC, designed to describe and reason about agents' abilities and capabilities in using resources. The proposed framework bridges two - up to now - mutually independent strands of literature: the one on logics of…

The present work presents some results about the categorial relation between logics and its categories of structures. A (propositional, finitary) logic is a pair given by a signature and Tarskian consequence relation on its formula algebra.…

Category Theory · Mathematics 2016-03-04 Darllan Conceição Pinto , Hugo Luiz Mariano

This paper presents a theory for the refinement of shared-memory concurrent algorithms from specifications. We augment pre and post condition specifications with Jones' rely and guarantee conditions, all of which are encoded as commands…

Logic in Computer Science · Computer Science 2023-09-12 Ian J. Hayes , Larissa A. Meinicke , Patrick A. Meiring

We consider parameterized concurrent systems consisting of a finite but unknown number of components, obtained by replicating a given set of finite state automata. Components communicate by executing atomic interactions whose participants…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-08 Marius Bozga , Javier Esparza , Radu Iosif , Joseph Sifakis , Christoph Welzel

Structures based on polarities have been used to provide relational semantics for propositional logics that are modelled algebraically by non-distributive lattices with additional operators. This article develops a first order notion of…

Logic · Mathematics 2023-11-08 Robert Goldblatt

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

Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that…

Programming Languages · Computer Science 2022-06-01 Joseph W. N. Paulus , Daniele Nantes-Sobrinho , Jorge A. Pérez

This paper shows how to apply memoization (caching of subgoals and associated answer substitutions) in a constraint logic programming setting. The research is is motivated by the desire to apply constraint logic programming (CLP) to…

cmp-lg · Computer Science 2008-02-03 Mark Johnson

Testing algorithms across a wide range of problem instances is crucial to ensure the validity of any claim about one algorithm's superiority over another. However, when it comes to inference algorithms for probabilistic logic programs,…

Logic in Computer Science · Computer Science 2020-09-14 Paulius Dilkas , Vaishak Belle