Proceedings Article10.1145/2660193.2660211
Natural proofs for asynchronous programs using almost-synchronous reductions
Ankush Desai,Pranav Garg,P. Madhusudan +2 more
- 15 Oct 2014
- Vol. 49, Iss: 10, pp 709-725
TL;DR: A novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants - invariants consisting of global states where message buffers are close to empty and simultaneously argues that they cover all local states.
read more
Abstract: We consider the problem of provably verifying that an asynchronous message-passing system satisfies its local assertions. We present a novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants - invariants consisting of global states where message buffers are close to empty. The reduction finds almost-synchronous invariants and simultaneously argues that they cover all local states. We show that asynchronous programs often have almost-synchronous invariants and that we can exploit this to build natural proofs that they are correct. We implement our reduction strategy, which is sound and complete, and show that it is more effective in proving programs correct as well as more efficient in finding bugs in several programs, compared to current search strategies which almost always diverge. The high point of our experiments is that our technique can prove the Windows Phone USB Driver written in P [9]correct for the responsiveness property, which was hitherto not provable using state-of-the-art model-checkers.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Verifying distributed programs via canonical sequentialization
Alexander Bakst,Klaus von Gleissenthall,Rami Gökhan Kıcı,Ranjit Jhala +3 more
- 12 Oct 2017
TL;DR: Brisk as discussed by the authors is a concurrency verification tool that is fast enough to be integrated into a design-implement-check cycle and can be used to verify message-passing programs.
37
Communication-Closed Asynchronous Protocols
Andrei Damian,Cezara Drăgoi,Alexandru Militaru,Josef Widder +3 more
- 15 Jul 2019
TL;DR: This work proposes a method that reduces the verification of asynchronous fault-tolerant protocols to the verify of round-based synchronous ones, which is easier to verify due to fewer interleavings, bounded message buffers etc.
Floating Time Transition System: More Efficient Analysis of Timed Actors
Ehsan Khamespanah,Marjan Sirjani,Mahesh Viswanathan,Ramtin Khosravi +3 more
- 14 Oct 2015
TL;DR: This work proves a weak bisimulation relation between FTTS and Timed Transition System, which is generally the standard semantic framework for discrete-time systems, and proves the FTTS semantics preserves event-based branching-time properties.
26
Verifying Safety of Synchronous Fault-Tolerant Algorithms by Bounded Model Checking
Ilina Stoilkovska,Igor Konnov,Josef Widder,Florian Zuleger +3 more
- 30 Aug 2021
TL;DR: This paper introduces the synchronous variant of threshold automata, and shows that many synchronous fault-tolerant distributed algorithms have a bounded diameter, although the algorithms are parameterized by the number of processes.
Verifying safety and accuracy of approximate parallel programs via canonical sequentialization
Vimuth Fernando,Keyur Joshi,Sasa Misailovic +2 more
- 10 Oct 2019
TL;DR: To the best of the knowledge, Parallely is the first system designed to analyze parallel approximate programs and automatically and efficiently proves type safety, reliability, and accuracy properties of the approximate benchmarks.
10
References
On Communicating Finite-State Machines
TL;DR: A model of commumcations protocols based on finite-state machines is investigated and it is determined to what extent the problem is solvable, and one approach to solving it is described.
1.2K
Tentative steps toward a development method for interfering programs
TL;DR: In this paper, extensions to the specification method based on postconditions that are predicates of two states and the development methods of operation decomposition and data refinement are proposed for the rigorous development of interfering programs.
670
Context-Bounded model checking of concurrent software
Shaz Qadeer,Jakob Rehof +1 more
- 04 Apr 2005
TL;DR: In this paper, the authors show that the problem of verifying a concurrent boolean program is decidable, even in the presence of unbounded parallelism, if the analysis is restricted to executions in which the number of context switches is bounded by an arbitrary constant.
Verifying programs with unreliable channels
Parosh Aziz Abdulla,Bengt Jonsson +1 more
- 19 Jun 1993
TL;DR: The verification of a particular class of infinite-state systems, namely, systems consisting of finite-state processes that communicate via unbounded lossy FIFO channels, is considered and it is shown that several interesting verification problems are decidable by giving algorithms for verifying.
433