Data loss detector: automatically revealing data loss bugs in Android apps
Oliviero Riganelli, Simone Paolo Mottadelli, Claudio Rota, Daniela Micucci, Leonardo Mariani
Abstract
Android apps must work correctly even if their execution is interrupted by external events. For instance, an app must work properly even if a phone call is received, or after its layout is redrawn because the smartphone has been rotated. Since these events may require destroying, when the execution is interrupted, and recreating, when the execution is resumed, the foreground activity of the app, the only way to prevent the loss of state information is to save and restore it. This behavior must be explicitly implemented by app developers, who often miss to implement it properly, releasing apps affected by data loss problems, that is, apps that may lose state information when their execution is interrupted. Although several techniques can be used to automatically generate test cases for Android apps, the obtained test cases seldom include the interactions and the checks necessary to exercise and reveal data loss faults. To address this problem, this paper presents Data Loss Detector (DLD), a test case generation technique that integrates an exploration strategy, data-loss-revealing actions, and two customized oracle strategies for the detection of data loss failures. DLD revealed 75% of the faults in a benchmark of 54 Android app releases affected by 110 known data loss faults, and also revealed unknown data loss problems, outperforming competing approaches. CCS CONCEPTS • Software and its engineering → Software testing and debugging.
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.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 040a8e81-2577-4efb-9487-39ec49a85a2fCited by top-tier papers6
- An Empirical Study of Functional Bugs in Android AppsYiheng Xiong, Mengqian Xu, Ting Su, Jingling Sun et al.ISSTA 2023 · 40 citations
- Understanding and finding system setting-related defects in Android appsJingling Sun, Ting Su, Junxin Li, Zhen Dong et al.ISSTA 2021 · 35 citations
- Detecting and fixing data loss issues in Android appsWunan Guo, Zhen Dong, Liwei Shen, Wei Tian et al.ISSTA 2022 · 17 citations
- Property-Based Fuzzing for Finding Data Manipulation Errors in Android AppsJingling Sun, Ting Su, Jiayi Jiang, Jue Wang et al.FSE 2023 · 16 citations
- Push-Button Synthesis of Watch Companions for Android AppsCong Li, Yanyan Jiang, Chang XuICSE 2022 · 7 citations
Related papers
- DDLDroid: Efficiently Detecting Data Loss Issues in Android AppsYuhao Zhou, Wei SongISSTA 2023 · 1 citation
- Deeply Reinforcing Android GUI Testing with Deep Reinforcement LearningYuanhong Lan, Yifei Lu, Zhong Li, Minxue Pan et al.ICSE 2024 · 21 citations
- LiveDroid: identifying and preserving mobile app state in volatile runtime environmentsUmar Farooq, Zhijia Zhao, Manu Sridharan, Iulian NeamtiuOOPSLA 2020 · 15 citations
- Demystifying Diehard Android AppsHao Zhou, Haoyu Wang, Yajin Zhou, Xiapu Luo et al.ASE 2020 · 17 citations
- ωTest: WebView-Oriented Testing for Android ApplicationsJiajun Hu, Lili Wei, Yepang Liu, Shing-Chi CheungISSTA 2023 · 8 citations
