Abstract
Recent introduction of a dynamic permission system in Android, allowing the users to grant and revoke permissions after the installation of an app, has made it harder to properly test apps. Since an app’s behavior may change depending on the granted permissions, it needs to be tested under a wide range of permission combinations. At the state-of-the-art, in the absence of any automated tool support, a developer needs to either manually determine the interaction of tests and app permissions, or exhaustively re-execute tests for all possible permission combinations, thereby increasing the time and resources required to test apps. This paper presents an automated approach, called PATDroid, for efficiently testing an Android app while taking the impact of permissions on its behavior into account. PATDroid performs a hybrid program analysis on both an app under test and its test suite to determine which tests should be executed on what permission combinations. Our experimental results show that PATDroid significantly reduces the testing effort, yet achieves comparable code coverage and fault detection capability as exhaustively testing an app under all permission combinations.
Original language | English (US) |
---|---|
Pages | 220-232 |
Number of pages | 13 |
DOIs | |
State | Published - Aug 21 2017 |
Externally published | Yes |
Event | 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2017 - Paderborn, Germany Duration: Sep 4 2017 → Sep 8 2017 |
Other
Other | 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2017 |
---|---|
Country/Territory | Germany |
City | Paderborn |
Period | 9/4/17 → 9/8/17 |
Keywords
- Access Control (Permission)
- Android
- Software Testing
ASJC Scopus subject areas
- Software