Research for developers

If you build Android apps, the GDPR and Google Play expect you to know, and declare, which personal data your app collects. That is harder than it sounds once third-party libraries and system APIs are involved. These papers look at where developers struggle and build static analysis tools that answer the question from the code itself.

MOBILESoft'26Conference

Challenges in Android Data Disclosure: An Empirical Study

Why is filling in Google Play's Data safety form so hard? We surveyed 41 developers and analysed 172 online developer discussions, covering 683 developers in total. Developers are confident they know what data their app collects, but much less sure how to map it onto Google's categories. Many do the mapping by hand, rely on online forums, and worry that a mismatch will get their app rejected. The paper sets out the clearer guidance and tools that would help.

ASE JournalJournal

A study of privacy-related data collected by Android apps

What counts as privacy-related data, and where does an app collect it? We define it in layers, build a dataset of privacy-sensitive data classes from both the user interface and system APIs, and implement a prototype that detects and labels them in an app. Comparing its results with apps' Data safety sections reveals both over- and under-reporting, for example in Signal and Instagram. A study of 7,500 apps shows that location is collected often, especially by shopping apps, but is frequently under-reported.

arXivPreprint

Visualizing Privacy-Relevant Data Flows in Android Applications

SliceViz is a web tool that slices an app's code around each source of privacy-relevant data and visualises the slices, so you can see where personal data goes without being a legal expert. In a user study with 12 participants, it helped developers identify the privacy-relevant properties of their code.

A-Mobile@ASE'24Workshop

Do Android App Developers Accurately Report Collection of Privacy-Related Data?

We manually reviewed the Data safety sections of 70 apps and compared a static analysis prototype against 20 more, finding both over- and under-reporting. The main causes are Google's abstract definitions of collected data and the lack of tools that help developers check their disclosures.

MOBILESoft'24Conference

Toward an Android Static Analysis Approach for Data Protection

Where this line of work started: a static taint analysis that finds sources of personal data in an app's code and traces how the data flows. It aims to help developers answer data protection questions during development, such as which data is derived from personal data and which protection measures apply.

All publications →