Runtime Permission Issues in Android Apps: Taxonomy, Practices, and Ways Forward

06/24/2021
by   Ying Wang, et al.
0

Android introduces a new permission model that allows apps to request permissions at runtime rather than at the installation time since 6.0 (Marshmallow, API level 23). While this runtime permission model provides users with greater flexibility in controlling an app's access to sensitive data and system features, it brings new challenges to app development. First, as users may grant or revoke permissions at any time while they are using an app, developers need to ensure that the app properly checks and requests required permissions before invoking any permission-protected APIs. Second, Android's permission mechanism keeps evolving and getting customized by device manufacturers. Developers are expected to comprehensively test their apps on different Android versions and device models to make sure permissions are properly requested in all situations. Unfortunately, these requirements are often impractical for developers. In practice, many Android apps suffer from various runtime permission issues (ARP issues). While existing studies have explored ARP issues, the understanding of such issues is still preliminary. To better characterize ARP issues, we performed an empirical study using 135 Stack Overflow posts that discuss ARP issues and 199 real ARP issues archived in popular open-source Android projects on GitHub. Via analyzing the data, we observed 11 types of ARP issues that commonly occur in Android apps. Furthermore, we conducted a field survey and in-depth interviews among practitioners, to gain insights from industrial practices and learn practitioners' requirements of tools that can help combat ARP issues. We hope that our findings can shed light on future research and provide useful guidance to practitioners.

READ FULL TEXT

page 2

page 4

page 8

page 14

page 16

page 18

page 20

page 21

research
01/29/2022

Aper: Evolution-Aware Runtime Permission Misuse Detection for Android Apps

The Android platform introduces the runtime permission model in version ...
research
07/21/2017

PRADA Applicability in Industrial Practice

The proliferation of Android devices brings the fragmentation problem. S...
research
06/17/2022

Detecting Connectivity Issues in Android Apps

Android is the most popular mobile operating system in the world, runnin...
research
12/30/2019

Scalable Online Vetting of Android Apps for Measuring Declared SDK Versions and Their Consistency with API Calls

Android has been the most popular smartphone system with multiple platfo...
research
03/01/2020

Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning

According to the World Health Organization(WHO), it is estimated that ap...
research
09/25/2019

Generating Requirements Out of Thin Air: Towards Automated Feature Identification for New Apps

App store mining has proven to be a promising technique for requirements...
research
09/25/2021

Unblind the charts: Towards Making Interactive Charts Accessible in Android Applications

Smartphones are a crucial aspect of routine life in the modern world, an...

Please sign up or login with your details

Forgot password? Click here to reset