Understanding and finding system setting-related defects in Android apps
Jingling Sun, Ting Su, Junxin Li, Zhen Dong, Geguang Pu, Tao Xie, Zhendong Su
摘要
Android, the most popular mobile system, offers a number of user-configurable system settings (e.g., network, location, and permission) for controlling devices and apps. Even popular, well-tested apps may fail to properly adapt their behaviors to diverse setting changes, thus frustrating their users. However, there exists no effort to systematically investigate such defects. To this end, we conduct the first empirical study to understand the characteristics of these setting-related defects (in short as "setting defects"), which reside in apps and are triggered by system setting changes. We devote substantial manual effort (over three person-months) to analyze 1,074 setting defects from 180 popular apps on GitHub. We investigate their impact, root causes, and consequences. We find that setting defects have a wide, diverse impact on apps' correctness, and the majority of these defects (≈70.7%) cause non-crash (logic) failures, and thus could not be automatically detected by existing app testing techniques due to the lack of strong test oracles. Motivated and guided by our study, we propose setting-wise metamorphic fuzzing, the first automated testing approach to effectively detect setting defects without explicit oracles. Our key insight is that an app's behavior should, in most cases, remain consistent if a given setting is changed and later properly restored, or exhibit expected differences if not restored. We realize our approach in SetDroid, an automated, end-to-end GUI testing tool, for detecting both crash and non-crash setting defects. SetDroid has been evaluated on 26 popular, open-source apps and detected 42 unique, previously unknown setting defects in 24 apps. To date, 33 have been confirmed and 21 fixed. We also apply SetDroid on five highly popular industrial apps, namely WeChat, QQMail, TikTok, CapCut, and AlipayHK, all of which each have billions of monthly active users. SetDroid successfully detects 17 previously unknown setting defects in these apps' latest releases, and all defects have been confirmed and fixed by the app vendors. The majority of SetDroid-detected defects (49 out of 59) cause non-crash failures, which could not be detected by existing testing tools (as our evaluation confirms). These results demonstrate SetDroid's strong effectiveness and practicality.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper19
- Benchmarking automated GUI testing for Android against real-world bugsTing Su, Jue Wang, Zhendong SuFSE 2021 · 被引用 77 次
- Fully automated functional fuzzing of Android apps for detecting non-crashing logic bugsTing Su, Yichen Yan, Jue Wang, Jingling Sun 等OOPSLA 2021 · 被引用 58 次
- An Empirical Study of Functional Bugs in Android AppsYiheng Xiong, Mengqian Xu, Ting Su, Jingling Sun 等ISSTA 2023 · 被引用 40 次
- Push-Button Reliability Testing for Cloud-Backed Applications with RainmakerYinfang Chen, Xudong Sun, Suman Nath, Ze Yang 等NSDI 2023 · 被引用 29 次
- Detecting non-crashing functional bugs in Android apps via deep-state differential analysisJue Wang, Yanyan Jiang, Ting Su, Shaohua Li 等FSE 2022 · 被引用 26 次
它引用的顶会 Paper4
- Reinforcement learning based curiosity-driven testing of Android applicationsMinxue Pan, An Huang, Guoxin Wang, Tian Zhang 等ISSTA 2020 · 被引用 166 次
- Accessibility issues in Android apps: state of affairs, sentiments, and ways forwardAbdulaziz Alshayban, Iftekhar Ahmed, Sam MalekICSE 2020 · 被引用 130 次
- Time-travel testing of Android appsZhen Dong, Marcel Böhme, Lucia Cojocaru, Abhik RoychoudhuryICSE 2020 · 被引用 104 次
- Data loss detector: automatically revealing data loss bugs in Android appsOliviero Riganelli, Simone Paolo Mottadelli, Claudio Rota, Daniela Micucci 等ISSTA 2020 · 被引用 28 次
相关 Paper
- Property-Based Fuzzing for Finding Data Manipulation Errors in Android AppsJingling Sun, Ting Su, Jiayi Jiang, Jue Wang 等FSE 2023 · 被引用 16 次
- IMGDroid: Detecting Image Loading Defects in Android ApplicationsWei Song, Mengqi Han, Jeff HuangICSE 2021 · 被引用 10 次
- Characterizing and Detecting Configuration Compatibility Issues in Android AppsHuaxun Huang, Ming Wen, Lili Wei, Yepang Liu 等ASE 2021 · 被引用 15 次
- PermDroid: automatically testing permission-related behaviour of Android applicationsShuaihao Yang, Zigang Zeng, Wei SongISSTA 2022 · 被引用 10 次
- An Empirical Analysis of UI-based Flaky TestsAlan Romano, Zihe Song, Sampath Grandhi, Wei Yang 等ICSE 2021 · 被引用 43 次
