Natural Proofs for Asynchronous Programs using Almost-Synchronous Invariants
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 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 show that our technique can prove the Windows Phone USB Driver written in P correct for the receptiveness property, which was hitherto not provable using state-of-the-art model-checkers.
Fri 24 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | Specification and VerificationOOPSLA at Salon E Chair(s): Gary T. Leavens University of Central Florida | ||
10:30 22mTalk | Bounded Exhaustive Test Input Generation from Hybrid Invariants OOPSLA Nico Rosner Dept. of Computer Science FCEyN, University of Buenos Aires, Valeria Bengolea Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Shadi Abdul Khalek Google, Nazareno Aguirre Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires, Sarfraz Khurshid University of Texas at Austin Link to publication | ||
10:52 22mTalk | Compiler Verification Meets Cross-Language Linking via Data Abstraction OOPSLA Link to publication | ||
11:15 22mTalk | GPS: Navigating Weak Memory with Ghosts, Protocols, and Separation OOPSLA Link to publication | ||
11:37 22mTalk | Natural Proofs for Asynchronous Programs using Almost-Synchronous Invariants OOPSLA Ankush Desai University of California, Berkeley, Pranav Garg University of Illinois at Urbana-Champaign, P. Madhusudan University of Illinois at Urbana-Champaign Link to publication |