학술논문

Graph-Aided Directed Testing of Android Applications for Checking Runtime Privacy Behaviours
Document Type
Conference
Source
2016 IEEE/ACM 11th International Workshop in Automation of Software Test (AST) AST Automation of Software Test (AST), 2016 IEEE/ACM 11th International Workshop in. :57-63 May, 2016
Subject
Computing and Processing
Testing
Androids
Humanoid robots
Privacy
Data privacy
Mobile applications
Detectors
Automated Mobile App Testing
Mobile Privacy
Static/Dynamic Analysis
Run-time Verification
Language
Abstract
While automated testing of mobile applications is very useful for checking run-time behaviours and specifications, its capability in discovering issues in apps is often limited in practice due to long testing time. A common practice is to randomly and exhaustively explore the whole app test space, which takes a lot of time and resource to achieve good coverage and reach targeted parts of the apps.In this paper, we present MAMBA1, a directed testing system for checking privacy in Android apps. MAMBA performs path searches of user events in control-flow graphs of callbacks generated from static analysis of app bytecode. Based on the paths found, it builds test cases comprised of user events that can trigger the executions of the apps and quickly direct the apps’ activity transitions from the starting activity towards target activities of interest, revealing potential accesses to privacy-sensitive data in the apps. MAMBA’s backend testing engine then simulates the executions of the apps following the generated test cases to check actual runtime behavior of the apps that may leak users’ private data. We evaluated MAMBA against another automated testing approach that exhaustively searches for target activities in 24 apps, and found that our graph-aided directed testing achieves the same coverage of target activities 6.1 times faster on average, including the time required for bytecode analysis and test case generation. By instrumenting privacy access/leak detectors during testing, we were able to verify from test logs that almost half of target activities accessed user privacy data, and 26.7% of target activities leaked privacy data to the network.