Wunan Guo

dblp:191/6634 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
5since 2021 · last 2025
0009-0003-5696-7712ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 4 first-author · 4 since 2021Computer networks · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2025 Effectively Modeling UI Transition Graphs for Android Apps Via Reinforcement Learning
abstract
Mobile apps are ubiquitous, and have become an indispensable part of our daily life. It is crucial to ensure the correctness, security and performance of these apps through automated GUI modeling. UI Transition Graph (UTG) is an important way of app abstract and modeling. While there have been considerable research efforts on constructing UTG through static or dynamic analysis, obtaining a relatively accurate and complete UTG is challenging. To this end, we present an approach and tool RLDroid that synergistically combines static analysis, dynamic exploration and reinforcement learning techniques to construct UTGs for Android apps. Specifically, RLDroid first extracts a seed UTG through static analysis, and uses this UTG with a depth-first strategy to guide the dynamic exploration. Then, RLDroid provides a Q-learning-based strategy initialized with the generated partial UTG to enhance dynamic exploration and outputs the final UTG. Our experiments on 29 Android apps show that RLDroid identified a total of 871 nodes (i.e., UI pages) and 2726 edges (i.e., transitions) without any false positives, which significantly outperforms the state-of-the-art GUI modeling techniques. Our two exploration strategies, the seed-UTGguided exploration and the Q-learning-enhanced exploration, make positive contributions to improving the completeness of UTG. Furthermore, the UTGs generated by RLDroid are highly useful for automated GUI testing, resulting in a 60 % increase in code coverage and the discovery of 52 additional crashes.
Wunan Guo, Liwei Shen, Daihong Zhou, Hai Xue
ICPC1
2025 Yardstick-Stackelberg pricing-based incentive mechanism for Federated Learning in Edge Computing
Qianhui Yu, Hai Xue, Celimuge Wu, Ya Liu 0001, Wunan Guo
Comput. Networks5
2024 Enhancing Change Impact Prediction by Integrating Evolutionary Coupling with Software Change Relationships
abstract
Background: Changes on source code may propagate to distant code entities through various relationships, making related changes obligatory. Identifying change impacts is challenging due to the complexity of how changes spread. Although association rules are widely used for change impact prediction, they rely solely on historical co-changes, which limits their accuracy when entities rarely or never co-change. Aims: This study explores the integration of evolutionary coupling with software change relationships among changed code entities to enhance the state-of-the-art association rule mining technique, TARMAQ. Method: We integrate evolutionary coupling with 12 types of software change relationships, such as structural dependencies and code clones, to better capture associated changes. Results: Analyzing thousands of commits from six open-source systems, we observed: (1) Incorporating software change relationship analysis significantly improves TARMAQ’s prediction recall and mean average precision (MAP), (2) The top-5 predictions exhibit notable increasing in precision, recall, F1-score, and MAP, and (3) Based on our implementation, the integrated method is practically applicable. Conclusions: Combining evolutionary coupling and software change relationships can improve the recall and prioritization of impact predictions in association rule-based techniques.
Daihong Zhou, Jiyue Zhang, Wunan Guo
ESEM4
2022 Detecting and fixing data loss issues in Android apps
abstract
Android apps are event-driven, and their execution is often interrupted by external events. This interruption can cause data loss issues that annoy users. For instance, when the screen is rotated, the current app page will be destroyed and recreated. If the app state is improperly preserved, user data will be lost. In this work, we present an approach and tool iFixDataloss that automatically detects and fixes data loss issues in Android apps. To achieve this, we identify scenarios in which data loss issues may occur, develop strategies to reveal data loss issues, and design patch templates to fix them. Our experiments on 66 Android apps show iFixDataloss detected 374 data loss issues (284 of them were previously unknown) and successfully generated patches for 188 of the 374 issues. Out of 20 submitted patches, 16 have been accepted by developers. In comparison with state-of-the-art techniques, iFixDataloss performed significantly better in terms of the number of detected data loss issues and the quality of generated patches.
Wunan Guo, Liwei Shen, Ting Su 0001, Xin Peng 0001
ISSTA1
2022 iFixDataloss: a tool for detecting and fixing data loss issues in Android apps
abstract
Android apps are event-driven, and their execution is often interrupted by external events. This interruption can cause data loss issues that annoy users. For instance, when the screen is rotated, the current app page will be destroyed and recreated. If the app state is improperly preserved, user data will be lost. In this work, we present a tool iFixDataloss that automatically detects and fixes data loss issues in Android apps. To achieve this, we identify scenarios in which data loss issues may occur by analyzing the Android life cycle, developing strategies to reveal data loss issues, and designing patch templates to fix them. Our experiments on 66 Android apps show iFixDataloss detected 374 data loss issues (284 of them were previously unknown) and successfully generated patches for 188 of the 374 issues. Out of 20 submitted patches, 16 have been accepted by developers. In comparison with state-of-the-art techniques, iFixDataloss performed significantly better in terms of the number of detected data loss issues and the quality of generated patches. Video Link: https://www.youtube.com/watch?v=MAPsCo-dRKs Github Link: https://github.com/iFixDataLoss/iFixDataloss22
Wunan Guo, Liwei Shen, Ting Su 0001, Xin Peng 0001
ISSTA1
2020 Improving Automated GUI Exploration of Android Apps via Static Dependency Analysis
abstract
Exploring GUIs of Android apps plays a key role in many important scenarios such as functional testing (e.g., finding crash errors), security analysis (e.g., identifying malicious behav-iors) and competitive analysis (e.g., storyboarding app features). To automate GUI exploration, existing techniques often try to visit as many GUI pages as possible via specific strategies, e.g., random (like Monkey) or heuristic (like Stoat, A3E). However, their effectiveness is still unclear and much under-explored. To this end, we conducted the first study in this paper to understand and characterize their limitations by carefully analyzing the coverage reports from a set of real-world, open-source apps. Through this study, we identified three key limitations due to the lack of dependency knowledge during exploration, i.e., widget-page dependency, widget-widget dependency and system-event dependency. To overcome them, we introduce dependency-informed exploration, an automated approach that leverages static dependency analysis to effectively improve GUI exploration performance. Given an app, our approach first constructs a GUI page transition model that captures the dependencies between GUI widgets, and then guides GUI exploration during a depth-first traversal. We realized our approach as a tool named Gesda, and evaluated it on 70 open-source Android apps. The results show Gesda outperforms existing state-of-the-art GUI exploration techniques, i.e., Monkey and Stoat. Additionally, Gesda uncovers 4 previously unknown crashes in 4 apps as a by-product of GUI exploration due to the benefit of dependency knowledge, while Monkey and Stoat have not discovered them.
Wunan Guo, Liwei Shen, Ting Su 0001, Xin Peng 0001, Weiyang Xie
ICSME1
2017 Code recommendation for android development: how does it work and what can be improved?
Liwei Shen, Wunan Guo, Wenyun Zhao
Sci. China Inf. Sci.3