A Preliminary Study of Fixed Flaky Tests in Rust Projects on GitHub

Prior research has extensively studied flaky tests in various domains, such as web applications, mobile applications, and other open-source projects in a range of multiple programming languages, including Java, JavaScript, Python, Ruby, and more. However, little attention has been given to flaky tests in Rust-an emerging popular language known for its safety features relative to C/C++. Rust incorporates interesting features that make it easy to detect some flaky tests, e.g., the Rust standard library randomizes the order of elements in hash tables, effectively exposing implementation-dependent flakiness. However, Rust still has several sources of nondeterminism that can lead to flaky tests. We present our work-in-progress on studying flaky tests in Rust projects on GitHub. Searching through the closed GitHub issues and pull requests, we identified 1,146 issues potentially related to Rust flaky tests. We focus on flaky tests that are fixed, not just reported, as the fixes can offer valuable information on root causes, manifestation characteristics, and strategies of fixes. By far, we have inspected 53 tests. Our initial findings indicate that the predominant root causes include asynchronous wait (33.9%), concurrency issues (24.5%), logic errors (9.4%), and network-related problems (9.4%). Our artifact is publicly available at [1].

Authors

Institutions

Publication Details

Published
2025-04-27
DOI
https://doi.org/10.1109/ftw66604.2025.00010
Primary Topic
Caching and Content Delivery
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Preliminary Study of Fixed Flaky Tests in Rust Projects on GitHub

Yang Chen, Tom Schroeder, Minh Phan
Caching and Content Delivery
article

A Preliminary Study of Fixed Flaky Tests in Rust Projects on GitHub

Yang Chen, Tom Schroeder, Minh Phan
article en

Abstract

Prior research has extensively studied flaky tests in various domains, such as web applications, mobile applications, and other open-source projects in a range of multiple programming languages, including Java, JavaScript, Python, Ruby, and more. However, little attention has been given to flaky tests in Rust-an emerging popular language known for its safety features relative to C/C++. Rust incorporates interesting features that make it easy to detect some flaky tests, e.g., the Rust standard library randomizes the order of elements in hash tables, effectively exposing implementation-dependent flakiness. However, Rust still has several sources of nondeterminism that can lead to flaky tests. We present our work-in-progress on studying flaky tests in Rust projects on GitHub. Searching through the closed GitHub issues and pull requests, we identified 1,146 issues potentially related to Rust flaky tests. We focus on flaky tests that are fixed, not just reported, as the fixes can offer valuable information on root causes, manifestation characteristics, and strategies of fixes. By far, we have inspected 53 tests. Our initial findings indicate that the predominant root causes include asynchronous wait (33.9%), concurrency issues (24.5%), logic errors (9.4%), and network-related problems (9.4%). Our artifact is publicly available at [1].

University of Illinois Urbana-Champaign (US)
Industry, innovation and infrastructure
Openalex Percentile: Top 83%
Caching and Content Delivery
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.