Programming distributed and reactive asynchronous systems is complex due to the lack of synchronization between concurrently executing tasks, and arbitrary delay of message-based communication. As even simple programming mistakes have the capability to introduce divergent behavior, a key liveness property is eventual quiescence: for any finite number of external stimuli (e.g., client-generated events), only a finite number of internal messages are ever created. In this work we propose a practical three-step reduction-based approach for detecting divergent executions in asynchronous programs. As a first step, we give a code-to-code translation reducing divergence of an asynchronous program P to completed state-reachability--i.e., reachabilit...
We consider the problem of provably verifying that an asyn-chronous message-passing system satisfies...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
AbstractThe termination detection problem involves detecting whether an ongoing distributed computat...
Abstract. Programming distributed and reactive asynchronous systems is complex due to the lack of sy...
Distributed systems are essential for building services that can handle the ever increasing number o...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
AbstractAsynchronous programming is a paradigm that supports asynchronous function calls in addition...
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, messa...
The design and verification of distributed software systems is often hindered by their ever-increasi...
We introduce a sequentialization procedure for fault-tolerant protocols that takes as input a Distal...
International audienceZielonka's theorem, established 25 years ago, states that any regular language...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
Synchronous programs are easy to specify because the side effects of an operation are finished by th...
International audienceConvergence of classical parallel iterations is detected by performing a reduc...
AbstractDeterministic behavior for parallel and distributed computation is rather difficult to ensur...
We consider the problem of provably verifying that an asyn-chronous message-passing system satisfies...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
AbstractThe termination detection problem involves detecting whether an ongoing distributed computat...
Abstract. Programming distributed and reactive asynchronous systems is complex due to the lack of sy...
Distributed systems are essential for building services that can handle the ever increasing number o...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
AbstractAsynchronous programming is a paradigm that supports asynchronous function calls in addition...
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, messa...
The design and verification of distributed software systems is often hindered by their ever-increasi...
We introduce a sequentialization procedure for fault-tolerant protocols that takes as input a Distal...
International audienceZielonka's theorem, established 25 years ago, states that any regular language...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
Synchronous programs are easy to specify because the side effects of an operation are finished by th...
International audienceConvergence of classical parallel iterations is detected by performing a reduc...
AbstractDeterministic behavior for parallel and distributed computation is rather difficult to ensur...
We consider the problem of provably verifying that an asyn-chronous message-passing system satisfies...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
AbstractThe termination detection problem involves detecting whether an ongoing distributed computat...