Search papers, labs, and topics across Lattice.
This study identifies and addresses setting-related UI display (SUD) bugs in Android applications, which arise when developers fail to properly align app components with system settings. By conducting an empirical analysis to uncover common patterns of unexpected adaptations, the authors developed SUDFinder, an automated tool that injects test activities to visually render XML configurations and detect SUD bugs. Evaluating SUDFinder on 29 open-source apps revealed 98 previously unknown SUD bugs, with a precision of 0.76, leading to 67 confirmed and 37 fixed issues by developers.
SUDFinder uncovers 98 hidden UI display bugs in Android apps, showcasing a significant gap in current testing methodologies.
Android provides a wide range of system settings that allow users to control the runtime behaviors of apps, such as screen rotation and UI display. However, setting-related bugs occur when developers do not fully align their apps with the extensive range of system settings that users can define. These bugs can commonly affect apps' UI, causing setting-related UI display (SUD) bugs that negatively impact user experience. While existing research has explored automated detection of SUD bugs, these approaches often suffer from false negatives. This limitation stems from an incomplete understanding of how app components should adapt UI elements to diverse system settings. To address this gap, we conducted an empirical study to identify common patterns of unexpected setting adaptations that result in SUD bugs. These patterns then served as the test oracle for our proposed automated tool, SUDFinder. To ensure the test coverage, SUDFinder injects a test activity to visually render the XML configuration files of each UI page. We evaluated SUDFinder on 29 popular, open-source apps on F-Droid and found that it effectively identifies 98 previously unknown SUD bugs, achieving a precision of 0.76. So far, 67 have been confirmed and 37 have been fixed by the app developers.