110 likes | 405 Views
PUMA: Programmable UI-Automation for Large Scale Dynamic Analysis of Mobile Apps. MobiSys ’ 14 Presented by Haocheng Huang huanghc@emnets.org. Contribution. D esign and implement PUMA, a programmable UI automation framework for conducting dynamic analyses of mobile apps at scale.
E N D
PUMA: Programmable UI-Automation for Large ScaleDynamic Analysis of Mobile Apps MobiSys’ 14 Presented by Haocheng Huang huanghc@emnets.org
Contribution • Design and implement PUMA, a programmable UI automation framework for conducting dynamic analyses of mobile apps at scale. • Evaluate PUMA by programming seven qualitatively different analyses that study performance, security, and correctness properties of mobile apps.
Motivation & Related Work • static analysis can fail to capture runtime contexts • app binaries may be obfuscated to thwart static analysis
PUMAScript Language • Event-based programming language • Defined two events • monkey-specific events & app-specific events • App-specific events • SIF: A Selective Instrumentation Framework for Mobile Applications
Example Monkey-specific Events App-specific Events
Evaluation PUMA’s programmable monkey explored 15 apps per hour per phone
EvaluationAnalysis 1: Accessibility Violation Detection • maximum round-trip paths greater than 10 • a state contains more than 100 words • contains a button smaller than 80mm2 • two buttons whose centers are less than 15mm apart • contains a scrollable UI widget