Enhancing mobile apps to use sensor hubs without programmer effort

Always-on continuous sensing apps drain the battery quickly because they prevent the main processor from sleeping. Instead, sensor hub hardware, available in many smartphones today, can run continuous sensing at lower power while keeping the main processor idle. However, developers have to divide functionality between the main processor and the sensor hub. We implement MobileHub, a system that automatically rewrites applications to leverage the sensor hub without additional programming effort. MobileHub uses a combination of dynamic taint tracking and machine learning to learn when it is safe to leverage the sensor hub without affecting application semantics. We implement MobileHub in Android and prototype a sensor hub on a 8-bit AVR micro-controller. We experiment with 20 applications from Google Play. Our evaluation shows that MobileHub significantly reduces power consumption for continuous sensing apps.

[1]  Zhen Wang,et al.  K2 , 2015, False Summit.

[2]  Kathryn S. McKinley,et al.  The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing , 2013, OOPSLA.

[3]  Jie Liu,et al.  Improving energy efficiency of personal sensing applications with heterogeneous multi-processors , 2012, UbiComp '12.

[4]  Suman Nath,et al.  PUMA: programmable UI-automation for large-scale dynamic analysis of mobile apps , 2014, MobiSys.

[5]  Lei Yang,et al.  ADEL: an automatic detector of energy leaks for smartphone applications , 2012, CODES+ISSS.

[6]  Tian He,et al.  Realistic Applications for Wireless Sensor Networks , 2011, Theoretical Aspects of Distributed Computing in Sensor Networks.

[7]  Christopher Krügel,et al.  Cross Site Scripting Prevention with Dynamic Data Tainting and Static Analysis , 2007, NDSS.

[8]  Alessandro Orso,et al.  Dytan: a generic dynamic taint analysis framework , 2007, ISSTA '07.

[9]  Byung-Gon Chun,et al.  TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones , 2010, OSDI.

[10]  M. Stone Cross‐Validatory Choice and Assessment of Statistical Predictions , 1976 .

[11]  Suman Nath,et al.  ACE: Exploiting Correlation for Energy-Efficient and Continuous Context Sensing , 2012, IEEE Transactions on Mobile Computing.

[12]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[13]  Xiangyu Zhang,et al.  Strict control dependence and its effect on dynamic information flow analyses , 2010, ISSTA '10.

[14]  Stephen McCamant,et al.  DTA++: Dynamic Taint Analysis with Targeted Control-Flow Propagation , 2011, NDSS.

[15]  Laurie Hendren,et al.  Jimple: Simplifying Java Bytecode for Analyses and Transformations , 1998 .

[16]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[17]  HillJason,et al.  System architecture directions for networked sensors , 2000 .

[18]  Jie Liu,et al.  Enabling energy efficient continuous sensing on mobile phones with LittleRock , 2010, IPSN '10.

[19]  Jie Liu,et al.  LittleRock: Enabling Energy-Efficient Continuous Sensing on Mobile Phones , 2011, IEEE Pervasive Computing.

[20]  Suman Nath,et al.  Automatic and scalable fault detection for mobile applications , 2014, MobiSys.

[21]  Thomas H. Austin,et al.  Permissive dynamic information flow analysis , 2010, PLAS '10.

[22]  Xiang-Yang Li,et al.  SmartLoc: push the limit of the inertial sensor based metropolitan localization using smartphone , 2013, MobiCom.

[23]  Paramvir Bahl,et al.  Somniloquy: Augmenting Network Interfaces to Reduce PC Energy Usage , 2009, NSDI.

[24]  Jatinder Pal Singh,et al.  Improving energy efficiency of location sensing on smartphones , 2010, MobiSys '10.

[25]  Zhuoqing Morley Mao,et al.  AppProfiler: a flexible method of exposing privacy-related behavior in android applications to end users , 2013, CODASPY.

[26]  Christopher Krügel,et al.  EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework , 2015, NDSS.

[27]  Mark D. Corner,et al.  Turducken: hierarchical power management for mobile devices , 2005, MobiSys '05.

[28]  Jacques Klein,et al.  FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps , 2014, PLDI.

[29]  Qiang Wang,et al.  Energy efficient GPS sensing with cloud offloading , 2012, SenSys '12.

[30]  Laurie Hendren,et al.  Soot: a Java bytecode optimization framework , 2010, CASCON.

[31]  Zhen Wang,et al.  Reflex: using low-power processors in smartphones without knowing them , 2012, ASPLOS XVII.

[32]  Brian Jeff Advances in big.LITTLE Technology for Power and Energy Savings Improving Energy Efficiency in High-Performance Mobile Platforms , 2012 .

[33]  Paramvir Bahl,et al.  Wake on wireless: an event driven energy saving strategy for battery operated devices , 2002, MobiCom '02.

[34]  Peter J. Denning,et al.  Certification of programs for secure information flow , 1977, CACM.