Automated Synthesis of Asynchronizations

09/14/2022
by   Sidi Mohamed Beillahi, et al.
0

Asynchronous programming is widely adopted for building responsive and efficient software, and modern languages such as C# provide async/await primitives to simplify the use of asynchrony. In this paper, we propose an approach for refactoring a sequential program into an asynchronous program that uses async/await, called asynchronization. The refactoring process is parametrized by a set of methods to replace with asynchronous versions, and it is constrained to avoid introducing data races. We investigate the delay complexity of enumerating all data race free asynchronizations, which quantifies the delay between outputting two consecutive solutions. We show that this is polynomial time modulo an oracle for solving reachability in sequential programs. We also describe a pragmatic approach based on an interprocedural data-flow analysis with polynomial-time delay complexity. The latter approach has been implemented and evaluated on a number of non-trivial C# programs extracted from open-source repositories

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/21/2021

General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond

The model of asynchronous programming arises in many contexts, from low-...
research
03/24/2019

Determining satisfiability of 3-SAT in polynomial time

In this paper, we provide a polynomial time (and space), algorithm that ...
research
09/06/2020

A Thread-Local Semantics and Efficient Static Analyses for Race Free Programs

Data race free (DRF) programs constitute an important class of concurren...
research
01/11/2019

Static Analysis for Asynchronous JavaScript Programs

Asynchrony has become an inherent element of JavaScript, as an effort to...
research
06/24/2021

An implementation of flow calculus for complexity analysis (tool paper)

Abstract. We present a tool to automatically perform the data-size analy...
research
12/17/2004

Real Time Models of the Asynchronous Circuits: The Delay Theory

The chapter from the book introduces the delay theory, whose purpose is ...
research
09/13/2017

OpenMP GNU and Intel Fortran programs for solving the time-dependent Gross-Pitaevskii equation

We present Open Multi-Processing (OpenMP) version of Fortran 90 programs...

Please sign up or login with your details

Forgot password? Click here to reset