Skip to content
Book Open access

TDRepro: A Neurosymbolic Approach to Reproducing Timing-Dependent Flaky Test Failures

Oct 2026 · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · 0 citations · 38 references

TL;DR

TDRepro is presented, an automated approach that leverages large-language models (LLMs) and program analysis to efficiently reproduce TD-test failures and achieves more reliable reproduction, with 55 tests reaching a failure reproduction rate of >99%, compared with 30 tests for FlakeRake.

Abstract

Tests that nondeterministically pass or fail on the same version of code are known as flaky tests, and their failures substantially hinder regression testing and debugging. Reproducing failures from timing-dependent (TD) flaky tests is particularly challenging because these failures depend on rare thread interleavings that may not occur even after running the test many times. Prior approaches reproduce such failures by searching for locations at which to inject delays during execution, but this search process can be expensive. We present TDRepro, an automated approach that leverages large-language models (LLMs) and program analysis to efficiently reproduce TD-test failures. TDRepro first identifies relevant methods by collecting executed methods during the test run and identifying those that execute concurrently with other methods. It then ranks these methods by computing the embedding similarity between each method’s code and the observed failure log. Finally, TDRepro uses an LLM to identify candidate locations for delay injection within the top-ranked methods. TDRepro validates these candidates by injecting delays and rerunning the test, iteratively refining the candidate locations based on unsuccessful attempts until the target failure is reproduced or the maximum number of iterations is reached. We evaluate TDRepro on 82 TD tests across 25 modules from open-source Java Maven projects. TDRepro reproduces 100% more failures than the prior state-of-the-art approach, FlakeRake, and achieves more reliable reproduction, with 55 tests reaching a failure reproduction rate of >99%, compared with 30 tests for FlakeRake. Repeatedly reproducing failures with TDRepro requires 1482.1× and 10.4× less time and costs 888.4× and 9.6× less than repeatedly rerunning tests and using FlakeRake, respectively.

Read PDF

Similar papers

Book Open access Oct 2026

FlakeFighters: A Pytest Plugin to Detect Flaky Test Failures

Flaky tests — tests which non-deterministically pass and fail against the same version of code — pose a well-established painful issue for developers due to the unpredictability of failures. The current state of practice to detect and work around flaky tests is to simply rerun them. However, this can erode confidence i...

Michael Foster, Owain Parry, Michael Hilton et al. · 0 citations
#artificial intelligence Preprint Oct 2026

Characterizing Overconfident Failure in LLM-Based Code Generation

Large language models (LLMs) are increasingly used for automated code generation, but generated programs can appear syntactically plausible while still failing execution-based correctness checks. Existing validation methods, such as testing and program analysis, remain essential but are often incomplete, costly, or app...

Ravishka Rathnasuriya, Wei Yang · 0 citations

Optimizing Search for Tests Relevant to Order-Dependent Flaky Tests

Three different types of search options are proposed to reduce the overall search time of iFixFlakies: split options that leverage hierarchical, code similarity, and historical information to better form the subsequences for further search, a pick option that prioritizes running a subsequence of tests based on its expe...

Suzzana Rafi, Meenam Pious, Shanto Rahman et al. · 0 citations
Book Open access Oct 2026

FAiLGen: Calibrating LLM for Failing Test Generation with Monte Carlo Tree Search

Failing test generation is an important yet challenging task in software engineering. It involves searching a vast space to identify fault-triggering test inputs and the oracles that assert these faulty executions. Several approaches have been proposed for generating failing tests. Specifically, given a program-under-t...

Tsz-On Li, Xiao-Chuan Yan, De-Hui Yi et al. · 0 citations
Book Open access Oct 2026

PR2Trigger: From Concurrency-Fix PR Diffs to Executable Triggering Tests for Go

Public PRs and CVE advisories are valuable sources for Go concurrency-bug research, but rarely provide executable benchmark samples because historical projects are difficult to rebuild and many fixes lack reusable triggering tests. We present PR2Trigger, a semi-automated pipeline that reconstructs PR-localized triggeri...

Risheng Wei, Yu-Heng Shen, Yi-Ming Ye et al. · 0 citations
#software testing Book Open access Sep 2026

ACF: Infrastructure for Debugging Long-Running Systems with Tracing and Unit Test Execution

A debugging workflow that combines dynamic analysis with directed unit tests is introduced, and ACF, an infrastructure for automating this workflow is presented, indicating that ACF can help developers to isolate specific inputs causing an error, thus simplifying the process of locating faulty statements.

Roman Vašut, P. Parízek · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.