← All publications
Ubicomp 2021

Honeysuckle: Annotation-Guided Code Generation of In-App Privacy Notices

An Android IDE plugin, build plugin, and library that generate in-app privacy notices from code annotations, tested with 12 developers.

Tianshi Li, Elijah B Neundorfer, Yuvraj Agarwal, Jason I. Hong
Ubicomp 2021 -- ACM Transactions on Interactive, Mobile, Wearable Ubiquitous Technology (IMWUT 21), September, 2021
Code annotations and XML configuration (top) that Honeysuckle turns into in-app privacy notices, from permission explanations to data use history and per-purpose settings.
Code annotations and XML configuration (top) that Honeysuckle turns into in-app privacy notices, from permission explanations to data use history and per-purpose settings.

Abstract

In-app privacy notices can help smartphone users make informed privacy decisions. However, they are rarely used in real-world apps, since developers often lack the knowledge, time, and resources to design and implement them well. We present Honeysuckle, a programming tool that helps Android developers build in-app privacy notices using an annotation-based code generation approach facilitated by an IDE plugin, a build system plugin, and a library. We conducted a within-subjects study with 12 Android developers to evaluate Honeysuckle. Each participant was asked to implement privacy notices for two popular open-source apps using the Honeysuckle library as a baseline as well as the annotation-based approach. Our results show that the annotation-based approach helps developers accomplish the task faster with significantly lower cognitive load. Developers preferred the annotation-based approach over the library approach because it was much easier to learn and use and allowed developers to achieve various types of privacy notices using a unified code format, which can enhance code readability and benefit team collaboration.

Video