English
Related papers

Related papers: Verifying Parallel Loops with Separation Logic

200 papers

We present and verify template algorithms for lock-free concurrent search structures that cover a broad range of existing implementations based on lists and skiplists. Our linearizability proofs are fully mechanized in the concurrent…

Programming Languages · Computer Science 2024-05-24 Nisarg Patel , Dennis Shasha , Thomas Wies

Runtime verification consists in observing and collecting the execution traces of a system and checking them against a specification, with the objective of raising an error when a trace does not satisfy the specification. We consider…

Logic in Computer Science · Computer Science 2025-11-04 Chana Weil-Kennedy , Darine Rammal , Christophe Gaston , Arnault Lapitre

Offline runtime verification involves the static analysis of executions of a system against a specification. For distributed systems, it is generally not possible to characterize executions in the form of global traces, given the absence of…

Software Engineering · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Arnault Lapitre , Pascale Le Gall

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

We present GraSSP, a novel approach to perform automated parallelization relying on recent advances in formal verification and synthesis. GraSSP augments an existing sequential program with an additional functionality to decompose data…

Programming Languages · Computer Science 2016-11-24 Grigory Fedyukovich , Rastislav Bodík

In this paper we present an algorithm for performing runtime verification of a bounded temporal logic over timed runs. The algorithm consists of three elements. First, the bounded temporal formula to be verified is translated into a monadic…

Logic in Computer Science · Computer Science 2007-06-01 Henrik Reif Andersen , Kaare J. Kristoffersen

We propose an automated verification technique for hypersafety properties, which express sets of valid interrelations between multiple finite runs of a program. The key observation is that constructing a proof for a small representative set…

Programming Languages · Computer Science 2019-05-23 Azadeh Farzan , Anthony Vandikas

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

We propose a methodology for verifying security properties of network protocols at design level. It can be separated in two main parts: context and requirements analysis and informal verification; and formal representation and procedural…

Cryptography and Security · Computer Science 2013-10-29 Jesus Diaz , David Arroyo , Francisco B. Rodriguez

Linearisability is a central notion for verifying concurrent libraries: a given library is proven safe if its operational history can be rearranged into a new sequential one which, in addition, satisfies a given specification.…

Programming Languages · Computer Science 2016-10-26 Andrzej S. Murawski , Nikos Tzevelekos

We develop local reasoning techniques for message passing concurrent programs based on ideas from separation logics and resource usage analysis. We extend processes with permission- resources and define a reduction semantics for this…

Logic in Computer Science · Computer Science 2015-07-01 Adrian Francalanza , Julian Rathke , Vladimiro Sassone

New trends towards multiple core processors imply using standard programming models to develop efficient, reliable and portable programs for distributed memory multiprocessors and workstation PC clusters. Message passing using MPI is widely…

Programming Languages · Computer Science 2013-11-05 Alaa I. Elnashar

Developing multithreaded software is an extremely challenging task, even for experienced programmers. The challenge does not end after the code is written. There are other tasks associated with a development process that become…

Software Engineering · Computer Science 2014-09-04 Evgeny Vainer , Amiram Yehudai

Complex systems often exhibit unexpected faults that are difficult to handle. Such systems are desirable to be diagnosable, i.e. faults can be automatically detected as they occur (or shortly afterwards), enabling the system to handle the…

Software Engineering · Computer Science 2015-02-27 Hernán Ponce de León , Gonzalo Bonigo , Laura Brandán Briones

This document shows how Z specifications can be translated into $\{log\}$ and, later, on how $\{log\}$ can be used to run simulations and automated proofs. This can help users of other specification languages such as B and VDM to use…

Software Engineering · Computer Science 2021-03-30 Maximiliano Cristiá , Gianfranco Rossi

In previous work, summarized in this paper, we proposed an operation of parallel composition for rewriting-logic theories, allowing compositional specification of systems and reusability of components. The present paper focuses on…

Logic in Computer Science · Computer Science 2023-08-01 Óscar Martín , Alberto Verdejo , Narciso Martí-Oliet

In the last decade, an impressive increase in software adaptions has led to a surge in log data production, making manual log analysis impractical and establishing the necessity for automated methods. Conversely, most automated analysis…

Software Engineering · Computer Science 2025-11-19 Shayan Hashemi , Mika Mäntylä

We present a logical framework for the verification of relational properties in imperative programs. Our work is motivated by relational properties which come from security applications and often require reasoning about formulas with…

Logic in Computer Science · Computer Science 2019-08-13 Gilles Barthe , Renate Eilers , Pamina Georgiou , Bernhard Gleiss , Laura Kovacs , Matteo Maffei

We report on an effort to develop methodologies for formal verification of parts of the Multi-Purpose Daemon (MPD) parallel process management system. MPD is a distributed collection of communicating processes. While the individual…

Logic in Computer Science · Computer Science 2007-05-23 Olga Shumsky Matlin , William McCune , Ewing Lusk

We recently proposed an approach for the specification and modular formal verification of the interactive (I/O) behavior of programs, based on an embedding of Petri nets into separation logic. While this approach is scalable and modular in…

Logic in Computer Science · Computer Science 2019-01-31 Willem Penninckx , Amin Timany , Bart Jacobs
‹ Prev 1 4 5 6 7 8 10 Next ›