Asynchronous Programming in Rust

An Empirical Analysis on the Usage of Asynchronous Code by Rust Developers

Bachelor Thesis (2026)
Author(s)

B.H.P. Dockx (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

M.A. Costea – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)

R.W. Backx – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)

P. Pawelczak – Graduation committee member (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Faculty
Electrical Engineering, Mathematics and Computer Science
More Info
expand_more
Publication Year
2026
Language
English
Graduation Date
25-06-2026
Awarding Institution
Delft University of Technology
Faculty
Electrical Engineering, Mathematics and Computer Science
Downloads counter
18
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Asynchronous programming in Rust introduces challenges regarding correctness, synchronization and concurrency. Existing literature has focused on uncovering bugs and providing verification techniques to mitigate these. However, further research within this field is still required and to the best of our knowledge, limited empirical data exists analyzing why asynchronous Rust is used in practice and the prominence of different runtimes.

In this paper, we present Rustc-Analysis, an automated analysis tool for discovering and extracting underlying structural information of asynchronous Rust code. We subsequently use this tool to analyze runtime adoption and characterize the functionality provided by asynchronous APIs.

Our analysis shows that asynchronous APIs are mainly used for I/O-related tasks, particularly networking and file-system operations, as well as synchronization between concurrent tasks. Furthermore, we find tokio to be the most widely adopted runtime, followed by futures, async-std and smol.

Files

Research_paper_final.pdf
(pdf | 1.47 Mb)
License info not available