English
Related papers

Related papers: Owicki--Gries Logic for Timestamp Semantics

200 papers

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

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

Message passing is a useful abstraction for implementing concurrent programs. For real-world systems, however, it is often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state,…

Logic in Computer Science · Computer Science 2023-06-22 Jonas Kastberg Hinrichsen , Jesper Bengtson , Robbert Krebbers

Instantaneous noise-based logic can avoid time-averaging, which implies significant potential for low-power parallel operations in beyond-Moore-law-chips. However, the universe (uniform superposition) will be zero with high probability…

Other Computer Science · Computer Science 2013-01-07 H. Wen , L. B. Kish , A. Klappenecker , F. Peper

Relying on the formulae-as-types paradigm for classical logic, we define a program logic for an imperative language with higher-order procedural variables and non-local jumps. Then, we show how to derive a sound program logic for this…

Logic in Computer Science · Computer Science 2015-03-19 Tristan Crolard , Emmanuel Polonowski

The study of concurrent persistent programs has seen a surge of activity in recent years due to the introduction of non-volatile random access memories (NVRAM), yielding many models and correctness notions that are difficult to compare. In…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-24 Naama Ben-David , Michal Friedman , Yuanhao Wei

Weak memory models describe the semantics of concurrent programs on modern multi-core architectures. Reasoning techniques for concurrent programs, like Owicki-Gries-style proof calculi, have to be based on such a semantics, and hence need…

Logic in Computer Science · Computer Science 2023-01-20 Lara Bargmann , Heike Wehrheim

Ctrie is a scalable concurrent non-blocking dictionary data structure, with good cache locality, and non-blocking linearizable iterators. However, operations on most existing concurrent hash tries run in O(log n) time. In this technical…

Data Structures and Algorithms · Computer Science 2017-12-29 Aleksandar Prokopec

This paper provides the first program logic for homogeneous generative run-time meta-programming---using a variant of MiniML by Davies and Pfenning as its underlying meta-programming language. We show the applicability of our approach by…

Logic in Computer Science · Computer Science 2017-03-31 Martin Berger , Laurence Tratt

Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Sibsankar Haldar , Paul Vitanyi

The Timed Concurrent Constraint Language (tccp in short) is a concurrent logic language based on the simple but powerful concurrent constraint paradigm of Saraswat. In this paradigm, the notion of store-as-value is replaced by the notion of…

Programming Languages · Computer Science 2011-09-09 Marco Comini , Laura Titolo , Alicia Villanueva

The relationship between intuitionistic or intermediate logics and logic programming has been extensively studied, prominently featuring Pearce's equilibrium logic and Osorio's safe beliefs. Equilibrium logic admits a fixpoint…

Logic in Computer Science · Computer Science 2026-03-17 Pedro Cabalar , Martín Diéguez , David Fernández-Duque , François Laferrière , Torsten Schaub , Igor Stéphan

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

Gibbons and Korach studied a fundamental problem in 1997: given an observed sequence of reads and writes of a multi-threaded program, does there exist an interleaving which is sequentially consistent? Apart from applications in testing…

Programming Languages · Computer Science 2026-05-12 R. Govind , S. Krishna , Sanchari Sil , B. Srivathsan

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

This paper presents the first machine-checked proof of noninterference for a language with gradual information-flow control, thereby establishing a rock solid foundation for secure programming languages that give programmers the choice…

Programming Languages · Computer Science 2022-11-30 Tianyu Chen , Jeremy G. Siek

The proposed framework provides a general model of concurrent imperative programming. Programs are modeled as formal languages and concurrency as an interleaving (or shuffle) operator. This yields a simple and elegant algebra of programs.…

Programming Languages · Computer Science 2012-09-11 Stephan van Staden

We are interested in identifying and enforcing the isolation requirements of a concurrent program, i.e., concurrency control that ensures that the program meets its specification. The thesis of this paper is that this can be done…

Programming Languages · Computer Science 2015-07-01 Jyotirmoy Deshmukh , G. Ramalingam , Venkatesh-Prasad Ranganath , Kapil Vaswani

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2018-12-11 Zhaowei Xu , Mingsheng Ying , Shenggang Ying

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer