Cited by 65Software Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Engineering Techniques and Practices

The DOI matches its Crossref record; 44 of the 44 references it cites were found in a registry or an index.

A large-scale longitudinal study of flaky tests

Open access
Lam, Wing, Winter, Stefan, Wei, Anjiang, Xie, Tao, Marinov, Darko, Bell, Jonathan·2020·Proceedings of the ACM on Programming Languages

Abstract

Flaky tests are tests that can non-deterministically pass or fail for the same code version. These tests undermine regression testing efficiency, because developers cannot easily identify whether a test fails due to their recent changes or due to flakiness. Ideally, one would detect flaky tests right when flakiness is introduced, so that developers can then immediately remove the flakiness. Some software organizations, e.g., Mozilla and Netflix, run some tools—detectors—to detect flaky tests as soon as possible. However, detecting flaky tests is costly due to their inherent non-determinism, so even state-of-the-art detectors are often impractical to be used on all tests for each project change. To combat the high cost of applying detectors, these organizations typically run a detector solely on newly added or directly modified tests, i.e., not on unmodified tests or when other changes occur (including changes to the test suite, the code under test, and library dependencies). However, it is unclear how many flaky tests can be detected or missed by applying detectors in only these limited circumstances. To better understand this problem, we conduct a large-scale longitudinal study of flaky tests to determine when flaky tests become flaky and what changes cause them to become flaky. We apply two state-of-theart detectors to 55 Java projects, identifying a total of 245 flaky tests that can be compiled and run in the code version where each test was added. We find that 75% of flaky tests (184 out of 245) are flaky when added, indicating substantial potential value for developers to run detectors specifically on newly added tests. However, running detectors solely on newly added tests would still miss detecting 25% of flaky tests. The percentage of flaky tests that can be detected does increase to 85% when detectors are run on newly added or directly modified tests. The remaining 15% of flaky tests become flaky due to other changes and can be detected only when detectors are always applied to all tests. Our study is the first to empirically evaluate when tests become flaky and to recommend guidelines for applying detectors in the future.

Verifying this paper

8 of 9 steps done · this page updates itself — you can leave and come back

  1. Registry recordVerified
  2. Full textRead the full text
  3. Reference list37 references found
  4. Reference checkChecking each cited work — 44 of 44
  5. StatisticsNeeds the full text
  6. ClaimsNeeds the full text
  7. Cited sourcesNeeds claims to check
  8. Self-checkNeeds the full text
  9. VerificationFindings verified

Overview

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1145/3428270

Cites

44 of 44 references verified0 citation errors · 0 not checkable

Statistics

Verification

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • If the model generates a flaky test suite, it is possible that all tests pass on an incorrect solution and lead to a false positive label on a code completion.

    “Therefore, in the case in which the model generates a flaky test suite, it is possible that all tests pass on an incorrect solution and lead to a false positive label on a code completion [11].”

    From Reflexion: Language Agents with Verbal Reinforcement Learning (2023) · cites this paper as [11]

    The Introduction (page not provided) says a flaky test can pass and fail on the same code and that changes may be merged when all tests pass. It does not address model-generated test suites, incorrect code completions, or false-positive labels, so those parts of the claim are not established by this paper. (LLM, conf=0.82)

    Experimental — accuracy not yet measured

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Citations

Cites

Flagged first, then by citations

Research works printed but not linked: 1

  1. Jonathan Bell Owolabi Legunsen Michael Hilton Lamyaa Eloussi Tifany Yung and Darko Marinov. 2018. DeFlaker: Automatically detecting flaky tests. In ICSE. Jonathan Bell Owolabi Legunsen Michael Hilton Lamyaa Eloussi Tifany Yung and Darko Marinov. 2018. DeFlaker: Automatically detecting flaky tests. In ICSE.

Cited by

Sorted by citations

Metadata

Authors
Lam, W., Winter, S., Wei, A., Xie, T., Marinov, D., & Bell, J.
Affiliations
  • University of Illinois Urbana-Champaign (US)
  • Technische Universität Darmstadt (DE)
  • Peking University (CN)
  • Northeastern University (US)
Venue
Proceedings of the ACM on Programming Languages
Published
2020-11-13
Volume
4
Issue
OOPSLA
Pages
1-29
ISSN
2475-1421 (ISSN-L)
OpenAlex
W3110368543
Cited by
64
References
37
Citations by year
2026: 5 · 2025: 9 · 2024: 15 · 2023: 6 · 2022: 18 · 2021: 11
FWCI
16.08
Type
journal article
Language
en
Open access
Locations
Proceedings of the ACM on Programming Languages (publishedVersion, cc-by)
Funders
National Science Foundation (CNS-1564274, CCF-1763788, CCF-1763822, CCF-1816615, CCF-1844880)
Topics
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
Keywords
flaky tests, regression testing, Java projects

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review