English
Related papers

Related papers: Data reification in a concurrent rely-guarantee al…

200 papers

The objective of this paper is to present general, mechanically verified, refinement rules for reasoning about recursive programs and while loops in the context of concurrency. Unlike many approaches to concurrency, we do not assume that…

Logic in Computer Science · Computer Science 2025-12-09 Ian J. Hayes , Larissa A. Meinicke , Cliff B. Jones

Hoare-style inference rules for program constructs permit the copying of expressions and tests from program text into logical contexts. It is known that this requires care even for sequential programs but much more serious issues arise with…

Logic in Computer Science · Computer Science 2025-12-01 Ian J. Hayes , Cliff B. Jones , Larissa A. Meinicke

Distributive laws are important for algebraic reasoning in arithmetic and logic. They are equally important for algebraic reasoning about concurrent programs. In existing theories such as Concurrent Kleene Algebra, only partial correctness…

Logic in Computer Science · Computer Science 2024-03-21 Larissa A. Meinicke , Ian J. Hayes

The rely/guarantee approach of Jones extends Hoare logic with rely and guarantee conditions in order to allow compositional reasoning about shared-variable concurrent programs. This paper focuses on localisation in the context of…

Logic in Computer Science · Computer Science 2019-07-10 Larissa A. Meinicke , Ian J. Hayes

This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave)…

Logic in Computer Science · Computer Science 2017-10-11 Ian J. Hayes , Larissa A. Meinicke , Kirsten Winter , Robert J. Colvin

Rely/guarantee reasoning provides a compositional way of reasoning about concurrency. The ABA problem occurs in many non-blocking concurrent data structures, where a change made by a concurrent process may be undetected by other processes.…

Logic in Computer Science · Computer Science 2023-11-28 Nisansala P. Yatapanage

The rely-guarantee technique allows one to reason compositionally about concurrent programs. To handle interference the technique makes use of rely and guarantee conditions, both of which are binary relations on states. A rely condition is…

Logic in Computer Science · Computer Science 2016-03-08 Ian J. Hayes

Concurrent program refinement algebra provides a suitable basis for supporting mechanised reasoning about shared-memory concurrent programs in a compositional manner, for example, it supports the rely/guarantee approach of Jones. The…

Logic in Computer Science · Computer Science 2018-05-30 Ian J. Hayes , Larissa A. Meinicke

The majority of modern systems exhibit sophisticated concurrent behaviour, where several system components modify and observe the system state with fine-grained atomicity. Many systems (e.g., multi-core processors, real-time controllers)…

Logic in Computer Science · Computer Science 2013-05-28 Brijesh Dongol , John Derrick

With distributed computing and mobile applications becoming ever more prevalent, synchronizing diverging replicas of the same data is a common problem. Reconciliation -- bringing two replicas of the same data structure as close as possible…

Information Theory · Computer Science 2022-08-10 Elod P. Csirmaz , Laszlo Csirmaz

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 provide simple equational principles for deriving rely-guarantee-style inference rules and refinement laws based on idempotent semirings. We link the algebraic layer with concrete models of programs based on languages and execution…

Logic in Computer Science · Computer Science 2013-12-05 Alasdair Armstrong , Victor B. F. Gomes , Georg Struth

The reference point for developing any artefact is its specification; to develop software formally, a formal specification is required. For sequential programs, pre and post conditions (together with abstract objects) suffice; rely and…

Software Engineering · Computer Science 2023-12-04 Cliff B. Jones , Alan Burns

Rely-guarantee (RG) is a highly influential compositional proof technique for concurrent programs, which was originally developed assuming a sequentially consistent shared memory. In this paper, we first generalize RG to make it parametric…

Programming Languages · Computer Science 2026-05-08 Ori Lahav , Brijesh Dongol , Heike Wehrheim

This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave)…

Logic in Computer Science · Computer Science 2022-01-19 Ian J. Hayes , Robert Colvin , Larissa Meinicke , Kirsten Winter , Andrius Velykis

We consider type inference for guarded recursive data types (GRDTs) -- a recent generalization of algebraic data types. We reduce type inference for GRDTs to unification under a mixed prefix. Thus, we obtain efficient type inference.…

Programming Languages · Computer Science 2007-05-23 Peter J. Stuckey , Martin Sulzmann

Concurrency theory has received considerable attention, but mostly in the scope of synchronous process algebras such as CCS, CSP, and ACP. As another way of handling concurrency, data-based coordination languages aim to provide a clear…

Programming Languages · Computer Science 2023-08-22 Manel Barkallah , Jean-Marie Jacquet

Session types capture precise protocol structure in concurrent programming, but do not specify properties of the exchanged values beyond their basic type. Refinement types are a form of dependent types that can address this limitation,…

Logic in Computer Science · Computer Science 2012-11-20 Pedro Baltazar , Dimitris Mostrous , Vasco T. Vasconcelos

The concurrent refinement algebra has been developed to support rely/guarantee reasoning about concurrent programs. The algebra supports atomic commands and defines parallel composition as a synchronous operation, as in Milner's SCCS. In…

Logic in Computer Science · Computer Science 2024-05-10 Ian J. Hayes , Larissa A. Meinicke , Naso Evangelou-Oost

Qualification has been recently introduced as a generalization of uncertainty in the field of Logic Programming. In this report we investigate a more expressive language for First-Order Functional Logic Programming with Constraints and…

Programming Languages · Computer Science 2011-01-12 Rafael Caballero , Mario Rodríguez-Artalejo , Carlos A. Romero-Díaz
‹ Prev 1 2 3 10 Next ›