We study principles and models for reasoning inductively about properties of distributed systems, based on programmed atomic handlers equipped with contracts. We present the Why3-do library, leveraging a state of the art software verifier for reasoning about distributed systems based on our models. A number of examples involving invariants containing existential and nested quantifiers (including Dijsktra’s self-stabilizing systems) illustrate how the library promotes contract-based modular development, abstraction barriers, and automated proofs.The development of Why3-do was initiated during a visit of the second author to the Toccata team at Inria Saclay-ˆIle-de-France/LRI Univ Paris-Saclay/CNRS and greatly benefited from the team’s hospit...
International audienceWe present Why3, a tool for deductive program verification, and WhyML, its pro...
International audienceDistributed proofs are mechanisms enabling the nodes of a network to collectiv...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
International audienceWhy3 is the next generation of the Why software verification platform. Why3 cl...
Distributed systems are rarely developed as monolithic programs. Instead, like any software, these s...
Distributed systems play a crucial role in modern infrastructure, but are notoriously difficult to ...
Designing and implementing distributed systems correctly is a very challenging task. Tradition- ally...
International audienceSequential emulation is a semantics-based technique to automatically reduce pr...
This is the artifact of the paper. Its a compressed virtual machine that can be imported by VirtualB...
Abstract. Distributed Algorithms are hard to prove correct. In settings with process failures, thing...
AbstractDistributed and concurrent object-oriented systems are difficult to analyze due to the compl...
This paper presents liveness properties that need to be preserved by Event-B models of distributed s...
International audienceThe benefits of modularity in programming-abstraction barriers, which allows h...
Verification of concurrent systems is difficult because of the inherent nondeterminism. Modern verif...
We propose a new and practical framework for integrating the behavioralreasoning about distributed s...
International audienceWe present Why3, a tool for deductive program verification, and WhyML, its pro...
International audienceDistributed proofs are mechanisms enabling the nodes of a network to collectiv...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
International audienceWhy3 is the next generation of the Why software verification platform. Why3 cl...
Distributed systems are rarely developed as monolithic programs. Instead, like any software, these s...
Distributed systems play a crucial role in modern infrastructure, but are notoriously difficult to ...
Designing and implementing distributed systems correctly is a very challenging task. Tradition- ally...
International audienceSequential emulation is a semantics-based technique to automatically reduce pr...
This is the artifact of the paper. Its a compressed virtual machine that can be imported by VirtualB...
Abstract. Distributed Algorithms are hard to prove correct. In settings with process failures, thing...
AbstractDistributed and concurrent object-oriented systems are difficult to analyze due to the compl...
This paper presents liveness properties that need to be preserved by Event-B models of distributed s...
International audienceThe benefits of modularity in programming-abstraction barriers, which allows h...
Verification of concurrent systems is difficult because of the inherent nondeterminism. Modern verif...
We propose a new and practical framework for integrating the behavioralreasoning about distributed s...
International audienceWe present Why3, a tool for deductive program verification, and WhyML, its pro...
International audienceDistributed proofs are mechanisms enabling the nodes of a network to collectiv...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...