SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Wed 20 Oct 2021 08:10 - 08:25 at Zurich B - Distributed Programming - mirror Chair(s): Shigeru Chiba
Wed 20 Oct 2021 16:10 - 16:25 at Zurich B - Distributed Programming Chair(s): Mohsen Lesani

The JavaScript ecosystem provides equivalent synchronous and asynchronous Application Programming
Interfaces (APIs) for many commonly used I/O operations.
Synchronous APIs involve straightforward sequential control flow that makes them easy to use and understand,
but their "blocking" behavior may result in poor responsiveness or performance. Asynchronous APIs impose a higher syntactic burden that relies on callbacks, promises, and higher-order functions. On the other hand, their nonblocking behavior enables applications to scale better and remain responsive while I/O requests are being processed. While it is generally understood that asynchronous APIs have better performance characteristics, many applications still rely on synchronous APIs.
In this paper, we present a refactoring technique for assisting programmers with the migration from synchronous to asynchronous APIs. The technique relies on static analysis to determine where
calls to synchronous API functions can be replaced with their asynchronous counterparts, relying on
JavaScript's async/await feature to minimize disruption to the source code.
Since the static analysis is potentially unsound, the proposed refactorings are presented as suggestions that must be reviewed and confirmed by the programmer.
The technique was implemented in a tool named Desynchronizer. In an empirical evaluation on 12 subject applications containing 316 synchronous API calls,
Desynchronizer identified 256 of these as candidates for refactoring. Of these candidates, 244 were transformed successfully, and only
12 resulted in behavioral changes. Further inspection of these cases revealed that the majority of these issues can be attributed to unsoundness in the call graph.

Wed 20 Oct

Displayed time zone: Central Time (US & Canada) change

07:40 - 09:00
Distributed Programming - mirrorOOPSLA at Zurich B
Chair(s): Shigeru Chiba The University of Tokyo
07:40
15m
Talk
A Multiparty Session Typing Discipline for Fault-Tolerant Event-Driven Distributed ProgrammingVirtual
OOPSLA
Malte Viering TU Darmstadt, Raymond Hu Queen Mary University of London, Patrick Eugster USI Lugano; Purdue University, Lukasz Ziarek University at Buffalo
DOI
07:55
15m
Talk
Much ADO about Failures: A Fault-Aware Model for Compositional Verification of Strongly Consistent Distributed SystemsIn-Person
OOPSLA
Wolf Honore Yale University, Jieung Kim Yale University, Ji-Yong Shin Northeastern University, Zhong Shao Yale University
DOI
08:10
15m
Talk
Automatic Migration from Synchronous to Asynchronous JavaScript APIsIn-Person
OOPSLA
Satyajit Gokhale Northeastern University, Alexi Turcotte Northeastern University, Frank Tip Northeastern University
DOI
08:25
15m
Talk
QuickSilver: Modeling and Parameterized Verification for Distributed Agreement-Based SystemsIn-Person
OOPSLA
Nouraldin Jaber Purdue University, Christopher Wagner Purdue University, Swen Jacobs CISPA, Milind Kulkarni Purdue University, Roopsha Samanta Purdue University
DOI
08:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

15:40 - 17:00
Distributed ProgrammingOOPSLA at Zurich B -8h
Chair(s): Mohsen Lesani University of California at Riverside
15:40
15m
Talk
A Multiparty Session Typing Discipline for Fault-Tolerant Event-Driven Distributed ProgrammingVirtual
OOPSLA
Malte Viering TU Darmstadt, Raymond Hu Queen Mary University of London, Patrick Eugster USI Lugano; Purdue University, Lukasz Ziarek University at Buffalo
DOI
15:55
15m
Talk
Much ADO about Failures: A Fault-Aware Model for Compositional Verification of Strongly Consistent Distributed SystemsIn-Person
OOPSLA
Wolf Honore Yale University, Jieung Kim Yale University, Ji-Yong Shin Northeastern University, Zhong Shao Yale University
DOI
16:10
15m
Talk
Automatic Migration from Synchronous to Asynchronous JavaScript APIsIn-Person
OOPSLA
Satyajit Gokhale Northeastern University, Alexi Turcotte Northeastern University, Frank Tip Northeastern University
DOI
16:25
15m
Talk
QuickSilver: Modeling and Parameterized Verification for Distributed Agreement-Based SystemsIn-Person
OOPSLA
Nouraldin Jaber Purdue University, Christopher Wagner Purdue University, Swen Jacobs CISPA, Milind Kulkarni Purdue University, Roopsha Samanta Purdue University
DOI
16:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA