English
Related papers

Related papers: Specifying and Verifying Concurrent Algorithms wit…

200 papers

Designing scalable concurrent objects, which can be efficiently used on multicore processors, often requires one to abandon standard specification techniques, such as linearizability, in favor of more relaxed consistency requirements.…

Logic in Computer Science · Computer Science 2016-07-22 Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee , German Andres Delbianco

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

Current approaches for formal verification of algorithms face important limitations. For specification, they cannot express algorithms naturally and concisely, especially for algorithms with states and flexible control flow. For…

Programming Languages · Computer Science 2025-05-01 Chengxi Yang , Shushu Wu , Qinxiang Cao

We propose a formal model of concurrent systems in which the history of a computation is explicitly represented as a collection of events that provide a view of a sequence of configurations. In our model events generated by transitions…

Logic in Computer Science · Computer Science 2015-09-25 Parosh Abdulla , Giorgio Delzanno , Marco Montali

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

Common approaches to concurrent programming begin with languages whose semantics are naturally sequential and add new constructs that provide limited access to concurrency, as exemplified by futures. This approach has been quite successful,…

Programming Languages · Computer Science 2023-06-22 Klaas Pruiksma , Frank Pfenning

Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly…

Programming Languages · Computer Science 2022-11-14 Roland Meyer , Thomas Wies , Sebastian Wolff

Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the…

Programming Languages · Computer Science 2024-10-18 Constantin Enea , Eric Koskinen

A notion of convolution is presented in the context of formal power series together with lifting constructions characterising algebras of such series, which usually are quantales. A number of examples underpin the universality of these…

Logic in Computer Science · Computer Science 2014-10-17 Brijesh Dongol , Ian J. Hayes , Georg Struth

Dedicated to Tony Hoare. In a paper published in 1972 Hoare articulated the fundamental notions of hiding invariants and simulations. Hiding: invariants on encapsulated data representations need not be mentioned in specifications that…

Logic in Computer Science · Computer Science 2022-07-21 Anindya Banerjee , Ramana Nagasamudram , David A. Naumann , Mohammad Nikouei

Architectural imperatives due to the slowing of Moore's Law, the broad acceptance of relaxed semantics and the O(n!) worst case verification complexity of generating sequential histories motivate a new approach to concurrent correctness.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-17 Victor Cook , Christina Peterson , Zachary Painter , Damian Dechev

Hoare-style verification provides a principled foundation for reasoning about the correctness of quantum programs, but existing approaches do not allow fully automatic verification. While automata-based verification scales well when…

Logic in Computer Science · Computer Science 2026-05-08 Wei-Lun Tsai , Yu-Fang Chen , Ondřej Lengál

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

We present a Hoare logic that extends program specifications with regular expressions that capture behaviors in terms of sequences of events that arise during the execution. The idea is similar to session types or process-like behavioral…

Logic in Computer Science · Computer Science 2022-05-16 Gidon Ernst , Alexander Knapp , Toby Murray

Mechanism design is the study of algorithm design in which the inputs to the algorithm are controlled by strategic agents, who must be incentivized to faithfully report them. Unlike typical programmatic properties, it is not sufficient for…

Programming Languages · Computer Science 2018-03-16 Gilles Barthe , Marco Gaboardi , Emilio Jesús Gallego Arias , Justin Hsu , Aaron Roth , Pierre-Yves Strub

This paper describes a way to formally specify the behaviour of concurrent data structures. When specifying concurrent data structures, the main challenge is to make specifications stable, i.e., to ensure that they cannot be invalidated by…

Logic in Computer Science · Computer Science 2012-09-12 Marina Zaharieva-Stojanovski , Marieke Huisman , Stefan Blom

As quantum computers become real, it is high time we come up with effective techniques that help programmers write correct quantum programs. Inspired by Hoare Type Theory in classical computing, we propose Quantum Hoare Type Theory (QHTT),…

Programming Languages · Computer Science 2021-11-16 Kartik Singhal

In this paper, we present a Hoare-style logic for reasoning about quantum programs with classical variables. Our approach offers several improvements over previous work: (1) Enhanced expressivity of the programming language: Our logic…

Programming Languages · Computer Science 2026-04-21 Mingsheng Ying

A linear parameter must be consumed exactly once in the body of its function. When declaring resources such as file handles and manually managed memory as linear arguments, a linear type system can verify that these resources are used…

Programming Languages · Computer Science 2022-07-25 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard Eisenberg

The introduction of machine learning methods has led to significant advances in automation, optimization, and discoveries in various fields of science and technology. However, their widespread application faces a fundamental limitation: the…

Machine Learning · Statistics 2025-10-22 Nikitin Nikita
‹ Prev 1 2 3 10 Next ›