Uppsats

Shrinkdroid: A Property-Based Testing Tool for Android Applications using Dynamic Element Detection and Test Case Minimisation

H

Chalmers tekniska högskola / Institutionen för data och informationsteknik

Publicerad: 2026

Språk: Engelska

Sammanfattning

This thesis presents Shrinkdroid, a property-based testing tool for automated GUItesting of Android applications. Existing Android GUI testing approaches typicallydepend on manually written test scripts tied to fixed UI element identifiers, makingthem fragile to interface changes and limited in exploration coverage. Shrinkdroidaddresses these limitations by dynamically detecting UI elements at runtime, generating event sequences through weighted random and guided exploration strategies,and validating application behaviour against a set of seven generalised GUI properties. When a property violation is detected, an integrated shrinking pipeline automatically reduces the failing event sequence to a smaller counterexample that stillreproduces the failure, improving debugging efficiency. Shrinkdroid is evaluated ontwo industrial Android Automotive applications developed by CPAC Systems AB,and on three open-source mobile applications from the Themis benchmark. Across184 test runs, explored using both Random Weighted Exploration and Guided Exploration, 26 property violations were detected, of which 17 were validated as realbugs. Ten of these bugs were previously unreported. Shrinkdroid’s findings complemented those of the industrial partner’s existing testing practices with no overlapin detected bugs, demonstrating its value as a complementary testing tool. Testcase minimisation through shrinking was completed in 14 out of 26 cases, achieving sequence reductions in 13 of these, while preserving the original property violation. Graph-based shortest-path reduction proved most efficient, completing inunder three minutes for deterministic traces, while greedy reduction of longer sequences could require several hours. These results demonstrate that property-basedtesting with integrated shrinking can effectively detect and localise GUI bugs inAndroid applications, even in dynamically changing interfaces, and across differentAndroid environments and device types.

Information

Lärosäte / institution
Chalmers tekniska högskola / Institutionen för data och informationsteknik
Publiceringsdatum
2026
Uppsatstyp
H
Språk
Engelska