Automated Synthesis of Asynchronizations - Archive ouverte HAL
Communication Dans Un Congrès Année : 2022

Automated Synthesis of Asynchronizations

Résumé

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 dataflow 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.
Fichier principal
Vignette du fichier
sas22.pdf (620.94 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04465064 , version 1 (19-02-2024)

Identifiants

Citer

Sidi Mohamed Beillahi, Ahmed Bouajjani, Constantin Enea, Shuvendu Lahiri. Automated Synthesis of Asynchronizations. 29th International Symposium on static analysis (SAS 2022), Dec 2022, Auckland, New Zealand. pp.135-159, ⟨10.1007/978-3-031-22308-2_7⟩. ⟨hal-04465064⟩
15 Consultations
16 Téléchargements

Altmetric

Partager

More