Saved in:
Bibliographic Details
Main Authors: Schroeder, Tom, Phan, Minh, Chen, Yang
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2502.02760
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910814744608768
author Schroeder, Tom
Phan, Minh
Chen, Yang
author_facet Schroeder, Tom
Phan, Minh
Chen, Yang
contents 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 programing 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 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 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%).
format Preprint
id arxiv_https___arxiv_org_abs_2502_02760
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle A Preliminary Study of Fixed Flaky Tests in Rust Projects on GitHub
Schroeder, Tom
Phan, Minh
Chen, Yang
Software Engineering
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 programing 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 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 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%).
title A Preliminary Study of Fixed Flaky Tests in Rust Projects on GitHub
topic Software Engineering
url https://arxiv.org/abs/2502.02760