Profile Coverage: Using Android Compilation Profiles to Evaluate Dynamic Testing
Jakob Bleier, Felix Kehrer, Jürgen Cito, Martina Lindorfer
Abstract
The rising complexity of Android apps makes comprehensive dynamic testing infeasible, especially for third-party apps. Knowing which methods are exercised by real users typically requires costly user studies or access to usage telemetry. We show that Android's compilation profiles, specifically Cloud Profiles collected by the Google Play Store, offer a readily available, underutilized source of such information. These operational profiles aggregate which methods are commonly executed across users and guide ahead-of-time compilation during app installation. We provide the first in-depth characterization of Baseline Profiles and Cloud Profiles and show that over 99.89 % of the top 1,000 apps include usage-derived cloud profiles. Based on this insight, we introduce profile coverage, a novel metric that measures how well dynamic testing exercises the methods real users interact with. This metric builds on the idea of operational coverage and enables a more holistic evaluation of automated test input generators. To enable profile coverage measurements, we develop a lightweight tracer, PROFTRACE, based on Linux kernel uprobes that requires no app or system modifications. We demonstrate its utility by comparing three tools and a no-interaction baseline on 50 popular apps, showing that profile coverage reveals differences that traditional code coverage misses. For instance, in Candy Crush, automated testing achieves only 2.22 % method coverage, but 21.39 % profile coverage-indicating better alignment with user behavior than traditional code coverage would suggest.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext aa71da3d-bcd4-4236-80dc-52d1f6f44b69Cited by top-tier papers1
Ask how each one uses itBuilds on18
- Reinforcement learning based curiosity-driven testing of Android applicationsMinxue Pan, An Huang, Guoxin Wang, Tian Zhang et al.ISSTA 2020 · 166 citations
- Time-travel testing of Android appsZhen Dong, Marcel Böhme, Lucia Cojocaru, Abhik RoychoudhuryICSE 2020 · 104 citations
- Bug Fixes, Improvements, ... and Privacy Leaks - A Longitudinal Study of PII Leaks Across Android App VersionsJingjing Ren, Martina Lindorfer, Daniel J. Dubois, Ashwin Rao et al.NDSS 2018 · 91 citations
- Make LLM a Testing Expert: Bringing Human-like Interaction to Mobile GUI Testing via Functionality-aware DecisionsZhe Liu, Chunyang Chen, Junjie Wang, Mengzhuo Chen et al.ICSE 2024 · 81 citations
- SoK: Prudent Evaluation Practices for FuzzingMoritz Schloegel, Nils Bars, Nico Schiller, Lukas Bernhard et al.S&P 2024 · 69 citations
Related papers
- Mobile Application Coverage: The 30% Curse and Ways ForwardFaridah Akinotcho, Lili Wei, Julia RubinICSE 2025 · 3 citations
- Navigating Mobile Testing Evaluation: A Comprehensive Statistical Analysis of Android GUI Testing MetricsYuanhong Lan, Yifei Lu, Minxue Pan, Xuandong LiASE 2024 · 4 citations
- An infrastructure approach to improving effectiveness of Android UI testing toolsWenyu Wang, Wing Lam, Tao XieISSTA 2021 · 33 citations
- Automata-Based Trace Analysis for Aiding Diagnosing GUI Testing Tools for AndroidEnze Ma, Shan Huang, Weigang He, Ting Su et al.FSE 2023 · 3 citations
- From Suspicious Signals to Crashes: Guiding Bug-Driven GUI Testing via Code-Inspired TracingMengzhuo Chen, Zhe Liu, Chunyang Chen, Junjie Wang et al.FSE 2026
