Flaky test detection in Android via event order exploration
Zhen Dong, Abhishek Tiwari, Xiao Liang Yu, Abhik Roychoudhury
Abstract
Validation of Android apps via testing is difficult owing to the presence of flaky tests. Due to non-deterministic execution environments, a sequence of events (a test) may lead to success or failure in unpredictable ways. In this work, we present an approach and tool FlakeScanner for detecting flaky tests through exploration of event orders. Our key observation is that for a test in a mobile app, there is a testing framework thread which creates the test events, a main User-Interface (UI) thread processing these events, and there may be several other background threads running asynchronously. For any event e whose execution involves potential non-determinism, we localize the earliest (latest) event after (before) which e must happen. We then efficiently explore the schedules between the upper/lower bound events while grouping events within a single statement, to find whether the test outcome is flaky. We also create a suite of subject programs called FlakyAppRepo (containing 33 widely-used Android projects) to study flaky tests in Android apps. Our experiments on the subject-suite FlakyAppRepo show FlakeScanner detected 45 out of 52 known flaky tests as well as 245 previously unknown flaky tests among 1444 tests.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers3
- Preempting Flaky Tests via Non-Idempotent-Outcome TestsAnjiang Wei, Pu Yi, Zhengxi Li, Tao Xie et al.ICSE 2022 · 20 citations
- Mining Android API Usage to Generate Unit Test Cases for Pinpointing Compatibility IssuesXiaoyu Sun, Xiao Chen, Yanjie Zhao, Pei Liu et al.ASE 2022 · 16 citations
- Reproducing Timing-Dependent GUI Flaky Tests in Android Apps via a Single Event DelayXiaobao Cai, Zhen Dong, Yongjiang Wang, Abhishek Tiwari et al.ISSTA 2024 · 1 citation
Builds on4
- A study on the lifecycle of flaky testsWing Lam, Kivanç Muslu, Hitesh Sajnani, Suresh ThummalapentaICSE 2020 · 107 citations
- Detecting flaky tests in probabilistic and machine learning applicationsSaikat Dutta, August Shi, Rutvik Choudhary, Zhekun Zhang et al.ISSTA 2020 · 71 citations
- An Empirical Analysis of UI-based Flaky TestsAlan Romano, Zihe Song, Sampath Grandhi, Wei Yang et al.ICSE 2021 · 43 citations
- ER Catcher: A Static Analysis Framework for Accurate and Scalable Event-Race Detection in AndroidNavid Salehnamadi, Abdulaziz Alshayban, Iftekhar Ahmed, Sam MalekASE 2020 · 5 citations
Related papers
- Detecting Flaky Tests by Controlling Nondeterministic API BehaviorHengchen Yuan, Jiefang Lin, August ShiOOPSLA 2026
- FlakeFlagger: Predicting Flakiness Without Rerunning TestsAbdulrahman Alshammari, Christopher Morris, Michael Hilton, Jonathan BellICSE 2021 · 63 citations
- A Dataset of Reproducible Flaky-Test FailuresSuzzana Rafi, Mahbub-Ul-Hoque Sumon, Md Erfan, Maruf Morshed Khan et al.ISSTA 2026
- Detection of Java Basic Thread Misuses Based on Static Event AnalysisBaoquan Cui, Miaomiao Wang, Chi Zhang, Jiwei Yan et al.ASE 2023 · 4 citations
- FlakiMe: Laboratory-Controlled Test Flakiness Impact AssessmentMaxime Cordy, Renaud Rwemalika, Adriano Franci, Mike Papadakis et al.ICSE 2022 · 14 citations
