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

dc.contributor.authorSimonsson, Clara
dc.contributor.authorSjöström, Fanny
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerBerger, Christian
dc.contributor.supervisorElahi, Haroon
dc.date.accessioned2026-07-07T09:21:20Z
dc.date.issued2026
dc.date.submitted
dc.description.abstractThis thesis presents Shrinkdroid, a property-based testing tool for automated GUI testing of Android applications. Existing Android GUI testing approaches typically depend on manually written test scripts tied to fixed UI element identifiers, making them fragile to interface changes and limited in exploration coverage. Shrinkdroid addresses 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 still reproduces the failure, improving debugging efficiency. Shrinkdroid is evaluated on two industrial Android Automotive applications developed by CPAC Systems AB, and on three open-source mobile applications from the Themis benchmark. Across 184 test runs, explored using both Random Weighted Exploration and Guided Ex ploration, 26 property violations were detected, of which 17 were validated as real bugs. Ten of these bugs were previously unreported. Shrinkdroid’s findings complemented those of the industrial partner’s existing testing practices with no overlap in detected bugs, demonstrating its value as a complementary testing tool. Test case 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 in under three minutes for deterministic traces, while greedy reduction of longer sequences could require several hours. These results demonstrate that property-based testing with integrated shrinking can effectively detect and localise GUI bugs in Android applications, even in dynamically changing interfaces, and across different Android environments and device types.
dc.identifier.coursecodeDATX05
dc.identifier.urihttps://hdl.handle.net/20.500.12380/311901
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectAutomated Testing, Property-Based Testing, GUI Testing, Android Ap plications, Test Case Minimisation, Shrinking
dc.titleShrinkdroid: A Property-Based Testing Tool for Android Applications using Dynamic Element Detection and Test Case Minimisation
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeSoftware engineering and technology (MPSOF), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 26-108 CS FS.pdf
Size:
1.95 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Size:
2.35 KB
Format:
Item-specific license agreed upon to submission
Description: