Fri 9 Nov 2018 10:30 - 10:52 at Studio 1 - Testing Chair(s): Kim Bruce

Real-world distributed systems are rarely built as a monolithic system. Instead, they are composed of multiple interacting components that together ensure the desired system specification. Programming these systems is challenging as one must deal with both concurrency and failures. This paper proposes techniques for building reliable distributed systems with two central contributions: (1) We propose a module system based on the theory of compositional trace refinement for dynamic systems consisting of asynchronously-communicating state machines, where state machines can be created dynamically and communication topology of the existing state machines can change at runtime; (2) We present ModP, a programming system that implements our module system to enable compositional (assume-guarantee) reasoning of distributed systems.

We demonstrate the efficacy of our framework by building two practical distributed systems, a fault-tolerant transaction commit service and a fault-tolerant distributed hashtable. Our framework helps implement these systems modularly and validate them via compositional systematic testing. We empirically demonstrate that using abstraction-based compositional reasoning helps amplify the coverage during testing and scale it to real-world distributed systems. The distributed services built using ModP achieve performance comparable to open-source equivalents.

Fri 9 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
TestingOOPSLA at Studio 1
Chair(s): Kim Bruce Pomona College
10:30
22m
Talk
Compositional Programming and Testing of Dynamic Distributed Systems
OOPSLA
Ankush Desai University of California, Berkeley, Amar Phanishayee Microsoft Research, Shaz Qadeer Microsoft Research, Sanjit Seshia UC Berkeley
10:52
22m
Talk
Randomized Testing of Distributed Systems with Probabilistic GuaranteesDistinguished Paper Award
OOPSLA
Burcu Kulahcioglu Ozkan MPI-SWS, Germany, Rupak Majumdar MPI-SWS, Germany, Filip Niksic MPI-SWS, Mitra Tabaei Befrouei Vienna University of Technology, Georg Weissenbacher Technische Universität Wien
11:15
22m
Talk
Test Generation for Higher-Order Functions in Dynamic Languages
OOPSLA
Marija Selakovic TU Darmstadt, Germany, Michael Pradel TU Darmstadt, Rezwana Karim Nawrin Samsung Research America, Frank Tip Northeastern University
11:37
22m
Talk
Finding Broken Promises in Asynchronous JavaScript Programs
OOPSLA
Saba Alimadadi Northeastern University, Di Zhong Northeastern University, USA, Magnus Madsen Aarhus University, Frank Tip Northeastern University