English
Related papers

Related papers: Tasks in Modular Proofs of Concurrent Algorithms

200 papers

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs.…

Programming Languages · Computer Science 2021-06-03 Dan Rasin , Orna Grumberg , Sharon Shoham

In this paper we consider the problem of certified static checking of module-like constructs of programming languages. We argue that there are algorithms and properties related to modules that can be defined and proven in an abstract way.…

Programming Languages · Computer Science 2017-06-20 Julia Belyakova

This paper suggests a [email protected] of composable specification of concurrent programs that permits: (1) verification of program code for a given specification, and (2) composition of the specifications of the components to yield…

Programming Languages · Computer Science 2017-04-07 Jayadev Misra

An engineering design process may involve software modules that can executed concurrently. Concurrent modules can be very easily subject to some synchronization errors. This paper discusses verification process for such engineering…

Software Engineering · Computer Science 2017-04-24 Jerzy Mieścicki , Mikołaj Baszun , Wiktor B. Daszczuk , Bogdan D. Czejdo

Concurrent separation logic with fractional permissions (CSLPerm) provides a promising reasoning system to verify most complex sequential and concurrent fine-grained programs. The logic with strong and weak separating conjunctions offers a…

Logic in Computer Science · Computer Science 2025-10-07 Quang Loc Le

Software engineering of modular robotic systems is a challenging task, however, verifying that the developed components all behave as they should individually and as a whole presents its own unique set of challenges. In particular, distinct…

Software Engineering · Computer Science 2020-12-04 Rafael C. Cardoso , Louise A. Dennis , Marie Farrell , Michael Fisher , Matt Luckcuck

This article aims to describe and explain the theoretical foundations of concurrent and set concurrent algorithms, considering an asynchronous shared memory system where any number of processes can crash. Verification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-27 Jose Damian Lopez Diaz

Scalable and automatic formal verification for concurrent systems is always demanding. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our…

Formal Languages and Automata Theory · Computer Science 2018-03-28 Fuyuan Zhang , Yongwang Zhao , David Sanan , Yang Liu , Alwen Tiu , Shang-Wei Lin , Jun Sun

Distributed systems are critical to reliable and scalable computing; however, they are complicated in nature and prone to bugs. To modularly manage this complexity, network middleware has been traditionally built in layered stacks of…

Programming Languages · Computer Science 2020-04-06 Jeremiah Griffin , Mohsen Lesani , Narges Shadab , Xizhe Yin

Compositional verification algorithms are well-studied in the context of model checking. Properly selecting components for verification is important for efficiency, yet has received comparatively less attention. In this paper, we address…

Formal Languages and Automata Theory · Computer Science 2024-08-19 Ian Dardik , April Porter , Eunsuk Kang

Swarm protocols are a recently introduced formalism for specifying, implementing, and verifying peer-to-peer systems called swarms. A swarm consists of distributed agents called machines that communicate by asynchronous event propagation.…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-20 Florian Furbach , Lucas Clorius , Roland Kuhn , Hernán Melgratti , Alceste Scalas , Emilio Tuosto

Data replication is essential to ensure reliability, availability and fault-tolerance of massive distributed applications over large scale systems such as the Internet. However, these systems are prone to partitioning, which by Brewer's CAP…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-01-12 Matthieu Perrin , Achour Mostéfaoui , Claude Jard

This paper focuses on automated synthesis of divide-and-conquer parallelism, which is a common parallel programming skeleton supported by many cross-platform multithreaded libraries. The challenges of producing (manually or automatically) a…

Programming Languages · Computer Science 2017-01-31 Azadeh Farzan , Victor Nicolet

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

Program verification is a resource-hungry task. This paper looks at the problem of parallelizing SMT-based automated program verification, specifically bounded model-checking, so that it can be distributed and executed on a cluster of…

Programming Languages · Computer Science 2020-05-19 Prantik Chatterjee , Subhajit Roy , Bui Phi Diep , Akash Lal

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

The ability to compose code in a modular fashion is important to the construction of large programs. In the logic programming setting, it is desirable that such capabilities be realized through logic-based devices. We describe an approach…

Programming Languages · Computer Science 2023-03-21 Steven Holte , Gopalan Nadathur

Given the advances in reactive synthesis, it is a natural next step to consider more complex multi-process systems. Distributed synthesis, however, is not yet scalable. Compositional approaches can be a game changer. Here, the challenge is…

Logic in Computer Science · Computer Science 2022-08-15 Bernd Finkbeiner , Noemi Passing

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

Distributed computing often gives rise to complex concurrent and interacting activities. In some cases several concurrent activities may be working together, i.e. cooperating, to solve a given problem; in other cases, the activities may be…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-12 Jie Xu , Brian Randell , Alexander Romanovsky , Robert J. Stroud , Avelino F. Zorzo
‹ Prev 1 2 3 10 Next ›