SlideShare a Scribd company logo
Future of Mobile Software
Energy and Performance
Abhik Roychoudhury
abhik@comp.nus.edu.sg
http://www.comp.nus.edu.sg/~abhik
1Mobilesoft 2017 Keynote
Keynote Talk
Joint work with Abhijeet Banerjee
Devices
• Many, but concretely …
Mobilesoft 2017 Keynote 2
Processor & Application
• Developments in mobile processor level for energy and performance
• What about apps?
o How much can apps help?
o Are energy and performance synonymous?
Mobilesoft 2017 Keynote 3
ARM big.LITTLE
Energy vs. performance
• Impact of CPU frequency scaling on energy and
performance.
do{
scrape_puzzle(); // I-O intensive
process_puzzle(); // CPU intensive
} while (more puzzles to scrape and process);
Observe time and energy for different frequencies.
Mobilesoft 2017 Keynote 4
Energy vs. Performance
Mobilesoft 2017 Keynote 5
Energy
consumption
and
performance do
not rise and fall
together.
Energy vs. Performance
Mobilesoft 2017 Keynote 6
Source: “Energy consumption in mobile phones: A measurement study and implications for
network applications”, N. Balasubramanian et al, SIGCOMM 2009.
Speed
GSM < 3G < Wifi
3G consumes more
energy than GSM.
Wifi consumes less
energy than 3G,
GSM.
So far
• Energy and Performance are not synonymous.
Mobilesoft 2017 Keynote 7
Detecting Energy-Inefficiency -
8
Energy Consumption (High
Utilization*)
Energy Consumption (Low
Utilization*)
>
* Of device’s components
=> E/U ratio is a suitable measure of energy-
inefficiency of an application
Mobilesoft 2017 Keynote
Measuring
Mobilesoft 2017 Keynote 9
• PowerTutor: Tracks
components and their power
states, and uses inbuilt power
model
• Dumpsys: Uses power profile
(XML file) shipped with devices
Measurements
• Testing, Debugging, Re-factoring …
• Power measurements to guide Mobile SE activities
Mobilesoft 2017 Keynote 10
So far
• Energy and Performance are not synonymous.
• The need for energy measurements.
Mobilesoft 2017 Keynote 11
Energy-Inefficiencies: Energy Bugs
Prevents device from becoming idle even after app has
completed execution and there is no user activity.
12
PRE EXC REC POST
E/URatioE/URatio
No Bug/Hotspot
With Bug
Find dissimilarity between PRE and POST stages
Mobilesoft 2017 Keynote
Energy-Inefficiencies: Energy Hotspot
13
Causes device to consume abnormally high amount of battery power
even though the utilization of hardware resources is low
PRE EXC REC POST
E/URatioE/URatio
No Bug/Hotspot
With Hotspot
Anomaly Detection Techniques: Jmotif
"HOT SAX: Efficiently Finding the Most Unusual Time Series Subsequence"
E. Keogh, J. Lin and A. Fu (2005).
D1
D2
Mobilesoft 2017 Keynote
Energy Bugs & Hotspots
14
Category Energy Bug Energy Hotspot
Hardware
Resources
Resource Leak Suboptimal
Resource Binding
Sleep-state
transition heuristics
Wakelock Bug Tail-Energy
Hotspot
Background
Services
Vacuous
Background Services
Expensive
Background Services
Defective
Functionality
Immortality Bug Loop-Energy
Hotspot
App Starts
Resource
Acquired
Resource Used
Energy Wasted
App Stops
Service Started Service not stopped
Energy Wasted
App Starts
Buggy App
Starts
Reset Using Task Manager /
Restart
Buggy App
Re-starts
Mobilesoft 2017 Keynote
Hotspot / Bug
Detection
Component
Guidance
Component
Power
Meter
Hotspot/Bug
Detection
EFG
Extraction
Guidance
Module
Database
Event Trace
Generation
Smartphone
Energy
Consumption Trace
Utilization Trace
Hotspot
/ Bugs
Event Flow
Graph
Event Trace
Application
Detection
15Test SuiteMobilesoft 2017 Keynote
Example: Energy Bug
16
E/U Trace before fix has been applied
E/U Trace after fix has been applied
Aripuca
Records tracks and
Waypoints
Energy Bug
Vacuous Background
Services
public void onPause() {
unregisterReceiver(compassBroadcastReceiver);
unregisterReceiver(locationBroadcastReceiver);
//FIX
serviceConnection.getService().stopLocationUpdates();
serviceConnection.getService().stopSensorUpdates();
serviceConnection.unbindAppService();
}
public void onPause() {
unregisterReceiver(compassBroadcastReceiver);
unregisterReceiver(locationBroadcastReceiver);
//
//
//
serviceConnection.unbindAppService();
}
Bug-revealing event-traces:
Event_1_1 --> Event_1_2 --> Event_2_1 --> Event_2_2
Event_1_1 --> Event_1_2 --> Event_2_1 --> Event_3_1
Fix: Remove location updates before exiting
Mobilesoft 2017 Keynote
Example: Energy Hotspot
E/U Trace before fix has been applied
E/U Trace after fix has been applied
Montreal Transit
Fetches Transit Related Info
High E/U ratio for a short period (~ 5 seconds) after EXC stage
High E/U does not persist, therefore hotspot and not a bug
Energy Hotspot
Expensive Background
Services,
Suboptimal Resource Binding
Main Functionality
+ Get Location
Load Ads
+ Get Location
User
Navigates Away
loading ads
Stop
GPS released
User
Starts App
Energy
Wasted
Main
Thread
Main Functionality
+ Get Location
Load Ads
Share Location
User Navigates Away
+ GPS Released
loading ads
StopUser
Starts App
Main
Thread
Async
Thread
17
So far
• Energy and Performance are not synonymous.
• The need for energy measurements.
• What are energy bugs and hotspots?
Mobilesoft 2017 Keynote 18
Re-factoring
19
Resources such as I/O Components and power management
utilities have the biggest impact on energy-consumption,
hence their usage must be reduced as much as possible
without affecting the functionality of the app.
PowerConsumption
(mW)
Mobilesoft 2017 Keynote
Re-factoring
20
Design
Extraction
Guideline-
based
Refactoring
Code
Generation
App
Source
Refactored
App
Source
Design
Expression
Refactored
Design
Expression
Design
Extraction
Mobilesoft 2017 Keynote
Extracting Design
Expression
21
Ap
p
Explore
UI
Analyze
Bytecode
Event
Flow
Graph
Convert
to DFA
Deterministic
Finite
Automata
DFA to
RE
Design
Express
ion
xr is acquire
yr is release
Change to ab*cxrurdyr
Mobilesoft 2017 Keynote
So far
• Energy and Performance are not synonymous.
• The need for energy measurements.
• What are energy bugs and hotspots?
• Re-factoring
Mobilesoft 2017 Keynote 22
Field Failures
23
Omnidroi
d
Issue 98
Battery Drain Concerns …
I know it was omnidroid
because I looked at the battery
use graph and omnidroid was
using 8 times more battery than
the next highest app
Field Failure
A defect that is observed by the user, after the software
has been shipped
Defect Report
A report describing the observed
defect.
Often provided by the user. May
or may not be sufficient to recreate
and/or fix the defect.
Energy
Inefficiency
A key concern
in battery
constrained
mobile
devices
Mobilesoft 2017 Keynote
Field Failures
24
App
App User
Reviews/
Bug Reports
App
Development
Challenges on
the
User Side
Challenges on
the
Developer Side
Replicate
Defect
Localize
Defect
Visualize
Defect
Patch Defect
Record
Sufficient
Information
to Recreate
Defect
Convey
Observed
Defect
Information
Succinctly
Mobilesoft 2017 Keynote
Going beyond
Mobilesoft 2017 Keynote 25
How can we utilize user comments related to energy consumption to
drive present and future mobile SE?
Reviews
Mobilesoft 2017 Keynote 26
Why do users downvote apps?
Crash
Advertisement
Performance
Energy
Other functionality
Gathered reviews of 170,000 Android apps in Google Play Store.
Uninstall ratio - plot
Mobilesoft 2017 Keynote
27Uninstallcategory
Reviewscategory
Highest uninstall ratio observed for energy related issues.
Possibility
Mobilesoft 2017 Keynote
28
User
Review
Temporal
Logic
formula
App
EventFlo
w Graph
Model
Test
Generator
Tests
Event Keywords: Open, Click, Tap, Drag, …
Temporal Keywords: Then, Until, Finally, …
HW State Keywords: GPS is on, …
UI State Keywords: <different UI states of the app>
Mobilesoft 2017 Keynote 29
Example
Mobilesoft 2017 Keynote 30
I 'm having a similar problem I have a Dell Streak running dj_steve 's custom
Android rom When I open Bitcoin-Android the circular thinking/downloading
thing in the top right corner keeps on spinning forever When I close that window
the app is still draining my cpu at over 90 % I tried sending 0.01 BTC to it and
it never showed up in the app but is confirmed on my pc client I was wondering if
this has something to do with me running a custom rom even though every other
app seems to work fine
G(user_open  (downloading U (user_close  F battery_drain))
G(user_open  (downloading U (user_close 
F (user_BCsnd  GBC_rcv ))
Test generation, not Model checking
Example
Mobilesoft 2017 Keynote
31
Had this issue as well turns out the block chain just takes a LONG time
to download Once the chain is downloaded took me about 5 hours
over 3G my transfers showed up new transfers showed up instantly and
the app does n't seem to be draining the battery at all Only dues it when I
open it and it needs a few seconds to a minute to download the new
blockchain piece
G(user_open  (downloading U (downloaded
G(battery_ok  (user_BCsnd  F BC_rcv))
Compare with
G(user_open  (downloading U (user_close  F battery_drain))
G(user_open  (downloading U (user_close 
F (user_BCsnd  GBC_rcv ))
Mobilesoft 2017 Keynote
32
Tests
App Execution
Logs
Fault
Localization
Fault
Visualization
Patch
Suggestion
Possible Workflow
So far
• Energy and Performance are not synonymous.
• The need for energy measurements.
• What are energy bugs and hotspots?
• Re-factoring
• Mobile SE based on field failures and reviews
Mobilesoft 2017 Keynote 33
Looking forward
Mobilesoft 2017 Keynote 34
Rise of drones - operations in
risky tasks
- Disaster Management
- Stealth Monitoring
Distributed Energy
Management
- Distributed among tasks
- Caters for many
operational scenarios
Futuristic Disaster Management
Mobilesoft 2017 Keynote 35
Tasks Camera Sensors GPS Propulsion Processor Radio Priority
Obstacle
Avoidance
X X X 3
Navigation X X 2
Data
gathering +
processing
X X 1
Rcv cmd,
send
telemetry
X X 2
Price per
unit
… … … … … …
Price Theory
Mobilesoft 2017 Keynote 36
Virtual Market-
place
Tasks Resources
1. Obstacle Avoidance
2. Navigation
3. Telemetry
4. Data
gathering/processing
1. Camera
2. Sensors
3. Propulsion
4. Processor
5. Radio
Demand Supply
Virtual Market-place
Mobilesoft 2017 Keynote 37
Battery Agent
Task
Agents
Resource
Agents
Acquisition
Resource Usage
Bidding, Price
Mobilesoft 2017 Keynote 38
Bn,t,r = min(( Alloct,n + Savet,n), (Bn-1,t,r + (Dt,r - St,r) * Pr)
• n is the round number
• t is the task
• r is the resource
Pr = (t Bt,r / Sr)
Supply of resource r is increased by transitioning to high energy mode.
This is done when Pr becomes too high.
Alloct,n captures the decision of the battery agent to allocate battery power
so that a maximum battery discharge rate is not crossed.
Resource Allocation
• How Res. are purchased using Virtual Credits?
o Task agents bid for Resources
39
D = 100
S = 50
T1
T2
D = 150
S = 50
S = 100
C1
• Price
– Price per Res
• $0.02 per
Res
• Resources
allocated
based on bids
– T1 and T2
get 50 Res
50
50
Mobilesoft 2017 Keynote
$1
$1
Price = ($1+$1)/100 = $0.02
Resource Allocation
• How Res are purchased using Virtual Credits?
o Task agents bids more due to supply-demand mismatch
40
D = 100
S = 50
T1
T2
D = 150
S = 50
S = 100
C1
• Price
– $0.035 per
Res
– Increased
• T1 gets
$1.5/0.035 = 43
units, T2 gets 57
units.
• Inflation
Scenario
$1.5
$2.0
Inflation: Supply < Demand
Resources Transition to High Energy
Mode
Mobilesoft 2017 Keynote
Resource Allocation
• How Res are purchased using Virtual Credits?
o Task agents bids more due to supply-demand mismatch
41
D = 100
S = 50
T1
T2
D = 150
S = 50
S = 300
C1
• Price per Res
– $0.012 per
Res
– Decreased
• T1 gets.
$1.5/$0.012 =
125 units, T2
gets. $2/0.012
= 166 units !
$1.5
$2.0
Deflation: Supply > Demand
Resources Transition to Low Energy
Mode
Can even shut down some of the units?
Mobilesoft 2017 Keynote
Resource Allocation
• How PUs are purchased using Virtual Money?
o Task agents bids more due to supply-demand mismatch
42
D = 100
S = 100
T1
T2
D = 150
S = 150
S = 250
C1
• Supply meets
Demand
– No change
– Price is constant
100 PUs
150 PUs
Stable: Supply = Demand
Energy Mode not changed
Mobilesoft 2017 Keynote
Resource Allocation
• Summary
o Task bids
• More – Under-Supplied
• Less – Over-Supplied
• Constant – Supply meets Demand
o Prevent Inflation/Deflation in prices
• By transitioning the resources between energy modes
• Maintain a maximum cutoff battery discharge rate
• Maintain expected battery life, while maximizing functionality
• Energy management of mobile devices in many operational scenarios.
43
Detailed example of distributed energy management in
drones can be seen from the accompanying paper.
Mobilesoft 2017 Keynote
In this talk
• Energy and Performance are not synonymous.
• The need for energy measurements.
• What are energy bugs and hotspots?
• Re-factoring
• Mobile SE based on field failures and reviews
• Energy management in other mobile devices.
Mobilesoft 2017 Keynote 44
Outlook
Mobilesoft 2017 Keynote 45
Exploiting user reviews in apps Energy management in drones

More Related Content

What's hot

Dagstuhl2021
Dagstuhl2021Dagstuhl2021
Dagstuhl2021
Abhik Roychoudhury
 
Automated Program Repair, Distinguished lecture at MPI-SWS
Automated Program Repair, Distinguished lecture at MPI-SWSAutomated Program Repair, Distinguished lecture at MPI-SWS
Automated Program Repair, Distinguished lecture at MPI-SWS
Abhik Roychoudhury
 
Binary Analysis - Luxembourg
Binary Analysis - LuxembourgBinary Analysis - Luxembourg
Binary Analysis - Luxembourg
Abhik Roychoudhury
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
Sung Kim
 
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program RepairLSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
Dongsun Kim
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
Sung Kim
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
Sung Kim
 
Singapore International Cyberweek 2020
Singapore International Cyberweek 2020Singapore International Cyberweek 2020
Singapore International Cyberweek 2020
Abhik Roychoudhury
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
Sung Kim
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
Sung Kim
 
Programing Slicing and Its applications
Programing Slicing and Its applicationsPrograming Slicing and Its applications
Programing Slicing and Its applications
Ankur Jain
 
Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours? Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours?
Rogue Wave Software
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
Sung Kim
 
Slicing of Object-Oriented Programs
Slicing of Object-Oriented ProgramsSlicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
 
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
Andrii Vozniuk
 
Thesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.pptThesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.ppt
Ptidej Team
 
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Sangmin Park
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)
Sung Kim
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
Sung Kim
 

What's hot (20)

Dagstuhl2021
Dagstuhl2021Dagstuhl2021
Dagstuhl2021
 
Automated Program Repair, Distinguished lecture at MPI-SWS
Automated Program Repair, Distinguished lecture at MPI-SWSAutomated Program Repair, Distinguished lecture at MPI-SWS
Automated Program Repair, Distinguished lecture at MPI-SWS
 
Binary Analysis - Luxembourg
Binary Analysis - LuxembourgBinary Analysis - Luxembourg
Binary Analysis - Luxembourg
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
 
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program RepairLSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
 
Singapore International Cyberweek 2020
Singapore International Cyberweek 2020Singapore International Cyberweek 2020
Singapore International Cyberweek 2020
 
CSMR13b.ppt
CSMR13b.pptCSMR13b.ppt
CSMR13b.ppt
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
 
Programing Slicing and Its applications
Programing Slicing and Its applicationsPrograming Slicing and Its applications
Programing Slicing and Its applications
 
Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours? Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours?
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
 
Slicing of Object-Oriented Programs
Slicing of Object-Oriented ProgramsSlicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
 
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk
 
Thesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.pptThesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.ppt
 
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
 

Similar to Mobilesoft 2017 Keynote

Newleaks
NewleaksNewleaks
Newleaks
Deepak Mehta
 
2014 Futuretech App-Alchemy Revoluation
2014 Futuretech App-Alchemy Revoluation 2014 Futuretech App-Alchemy Revoluation
2014 Futuretech App-Alchemy Revoluation
Rob McKinney, LEED AP BD + C
 
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
Olivier Le Goaër
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
wipjam
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
NITHIN S.S
 
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
Bitbar
 
Instant notice ppt
Instant notice pptInstant notice ppt
Instant notice ppt
Dinesh kumar kashyap
 
DevOps & Apps - Building and Operating Successful Mobile Apps
DevOps & Apps - Building and Operating Successful Mobile AppsDevOps & Apps - Building and Operating Successful Mobile Apps
DevOps & Apps - Building and Operating Successful Mobile AppsApigee | Google Cloud
 
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
ecijjournal
 
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
ecij
 
Auto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android ApplicationsAuto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android Applications
Kevin Moran
 
Cloud-Based, Automated Mobile App Testing for the Enterprise
Cloud-Based, Automated Mobile App Testing for the EnterpriseCloud-Based, Automated Mobile App Testing for the Enterprise
Cloud-Based, Automated Mobile App Testing for the Enterprise
TechWell
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
Nous Infosystems
 
GDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android N
Imam Raza
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
Juha-Pekka Tolvanen
 
Tom_Osborne_Resume
Tom_Osborne_ResumeTom_Osborne_Resume
Tom_Osborne_ResumeTom Osborne
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
inventy
 

Similar to Mobilesoft 2017 Keynote (20)

Newleaks
NewleaksNewleaks
Newleaks
 
2014 Futuretech App-Alchemy Revoluation
2014 Futuretech App-Alchemy Revoluation 2014 Futuretech App-Alchemy Revoluation
2014 Futuretech App-Alchemy Revoluation
 
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
 
gcce-uapm-slide-20131001-1900
gcce-uapm-slide-20131001-1900gcce-uapm-slide-20131001-1900
gcce-uapm-slide-20131001-1900
 
Instant notice ppt
Instant notice pptInstant notice ppt
Instant notice ppt
 
DevOps & Apps - Building and Operating Successful Mobile Apps
DevOps & Apps - Building and Operating Successful Mobile AppsDevOps & Apps - Building and Operating Successful Mobile Apps
DevOps & Apps - Building and Operating Successful Mobile Apps
 
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
 
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...
 
Auto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android ApplicationsAuto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android Applications
 
Cloud-Based, Automated Mobile App Testing for the Enterprise
Cloud-Based, Automated Mobile App Testing for the EnterpriseCloud-Based, Automated Mobile App Testing for the Enterprise
Cloud-Based, Automated Mobile App Testing for the Enterprise
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
GDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android N
 
Weather Display app
Weather Display appWeather Display app
Weather Display app
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
 
Tom_Osborne_Resume
Tom_Osborne_ResumeTom_Osborne_Resume
Tom_Osborne_Resume
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 

More from Abhik Roychoudhury

16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx
Abhik Roychoudhury
 
IFIP2023-Abhik.pptx
IFIP2023-Abhik.pptxIFIP2023-Abhik.pptx
IFIP2023-Abhik.pptx
Abhik Roychoudhury
 
Fuzzing.pptx
Fuzzing.pptxFuzzing.pptx
Fuzzing.pptx
Abhik Roychoudhury
 
Art of Computer Science Research Planning
Art of Computer Science Research PlanningArt of Computer Science Research Planning
Art of Computer Science Research Planning
Abhik Roychoudhury
 
Automated Repair - ISSTA Summer School
Automated Repair - ISSTA Summer SchoolAutomated Repair - ISSTA Summer School
Automated Repair - ISSTA Summer School
Abhik Roychoudhury
 
Repair dagstuhl
Repair dagstuhlRepair dagstuhl
Repair dagstuhl
Abhik Roychoudhury
 
Pas oct12
Pas oct12Pas oct12

More from Abhik Roychoudhury (9)

16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx
 
IFIP2023-Abhik.pptx
IFIP2023-Abhik.pptxIFIP2023-Abhik.pptx
IFIP2023-Abhik.pptx
 
Fuzzing.pptx
Fuzzing.pptxFuzzing.pptx
Fuzzing.pptx
 
Art of Computer Science Research Planning
Art of Computer Science Research PlanningArt of Computer Science Research Planning
Art of Computer Science Research Planning
 
Automated Repair - ISSTA Summer School
Automated Repair - ISSTA Summer SchoolAutomated Repair - ISSTA Summer School
Automated Repair - ISSTA Summer School
 
Issta13 workshop on debugging
Issta13 workshop on debuggingIssta13 workshop on debugging
Issta13 workshop on debugging
 
Repair dagstuhl
Repair dagstuhlRepair dagstuhl
Repair dagstuhl
 
PAS 2012
PAS 2012PAS 2012
PAS 2012
 
Pas oct12
Pas oct12Pas oct12
Pas oct12
 

Recently uploaded

Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 

Recently uploaded (20)

Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 

Mobilesoft 2017 Keynote

  • 1. Future of Mobile Software Energy and Performance Abhik Roychoudhury abhik@comp.nus.edu.sg http://www.comp.nus.edu.sg/~abhik 1Mobilesoft 2017 Keynote Keynote Talk Joint work with Abhijeet Banerjee
  • 2. Devices • Many, but concretely … Mobilesoft 2017 Keynote 2
  • 3. Processor & Application • Developments in mobile processor level for energy and performance • What about apps? o How much can apps help? o Are energy and performance synonymous? Mobilesoft 2017 Keynote 3 ARM big.LITTLE
  • 4. Energy vs. performance • Impact of CPU frequency scaling on energy and performance. do{ scrape_puzzle(); // I-O intensive process_puzzle(); // CPU intensive } while (more puzzles to scrape and process); Observe time and energy for different frequencies. Mobilesoft 2017 Keynote 4
  • 5. Energy vs. Performance Mobilesoft 2017 Keynote 5 Energy consumption and performance do not rise and fall together.
  • 6. Energy vs. Performance Mobilesoft 2017 Keynote 6 Source: “Energy consumption in mobile phones: A measurement study and implications for network applications”, N. Balasubramanian et al, SIGCOMM 2009. Speed GSM < 3G < Wifi 3G consumes more energy than GSM. Wifi consumes less energy than 3G, GSM.
  • 7. So far • Energy and Performance are not synonymous. Mobilesoft 2017 Keynote 7
  • 8. Detecting Energy-Inefficiency - 8 Energy Consumption (High Utilization*) Energy Consumption (Low Utilization*) > * Of device’s components => E/U ratio is a suitable measure of energy- inefficiency of an application Mobilesoft 2017 Keynote
  • 9. Measuring Mobilesoft 2017 Keynote 9 • PowerTutor: Tracks components and their power states, and uses inbuilt power model • Dumpsys: Uses power profile (XML file) shipped with devices
  • 10. Measurements • Testing, Debugging, Re-factoring … • Power measurements to guide Mobile SE activities Mobilesoft 2017 Keynote 10
  • 11. So far • Energy and Performance are not synonymous. • The need for energy measurements. Mobilesoft 2017 Keynote 11
  • 12. Energy-Inefficiencies: Energy Bugs Prevents device from becoming idle even after app has completed execution and there is no user activity. 12 PRE EXC REC POST E/URatioE/URatio No Bug/Hotspot With Bug Find dissimilarity between PRE and POST stages Mobilesoft 2017 Keynote
  • 13. Energy-Inefficiencies: Energy Hotspot 13 Causes device to consume abnormally high amount of battery power even though the utilization of hardware resources is low PRE EXC REC POST E/URatioE/URatio No Bug/Hotspot With Hotspot Anomaly Detection Techniques: Jmotif "HOT SAX: Efficiently Finding the Most Unusual Time Series Subsequence" E. Keogh, J. Lin and A. Fu (2005). D1 D2 Mobilesoft 2017 Keynote
  • 14. Energy Bugs & Hotspots 14 Category Energy Bug Energy Hotspot Hardware Resources Resource Leak Suboptimal Resource Binding Sleep-state transition heuristics Wakelock Bug Tail-Energy Hotspot Background Services Vacuous Background Services Expensive Background Services Defective Functionality Immortality Bug Loop-Energy Hotspot App Starts Resource Acquired Resource Used Energy Wasted App Stops Service Started Service not stopped Energy Wasted App Starts Buggy App Starts Reset Using Task Manager / Restart Buggy App Re-starts Mobilesoft 2017 Keynote
  • 15. Hotspot / Bug Detection Component Guidance Component Power Meter Hotspot/Bug Detection EFG Extraction Guidance Module Database Event Trace Generation Smartphone Energy Consumption Trace Utilization Trace Hotspot / Bugs Event Flow Graph Event Trace Application Detection 15Test SuiteMobilesoft 2017 Keynote
  • 16. Example: Energy Bug 16 E/U Trace before fix has been applied E/U Trace after fix has been applied Aripuca Records tracks and Waypoints Energy Bug Vacuous Background Services public void onPause() { unregisterReceiver(compassBroadcastReceiver); unregisterReceiver(locationBroadcastReceiver); //FIX serviceConnection.getService().stopLocationUpdates(); serviceConnection.getService().stopSensorUpdates(); serviceConnection.unbindAppService(); } public void onPause() { unregisterReceiver(compassBroadcastReceiver); unregisterReceiver(locationBroadcastReceiver); // // // serviceConnection.unbindAppService(); } Bug-revealing event-traces: Event_1_1 --> Event_1_2 --> Event_2_1 --> Event_2_2 Event_1_1 --> Event_1_2 --> Event_2_1 --> Event_3_1 Fix: Remove location updates before exiting Mobilesoft 2017 Keynote
  • 17. Example: Energy Hotspot E/U Trace before fix has been applied E/U Trace after fix has been applied Montreal Transit Fetches Transit Related Info High E/U ratio for a short period (~ 5 seconds) after EXC stage High E/U does not persist, therefore hotspot and not a bug Energy Hotspot Expensive Background Services, Suboptimal Resource Binding Main Functionality + Get Location Load Ads + Get Location User Navigates Away loading ads Stop GPS released User Starts App Energy Wasted Main Thread Main Functionality + Get Location Load Ads Share Location User Navigates Away + GPS Released loading ads StopUser Starts App Main Thread Async Thread 17
  • 18. So far • Energy and Performance are not synonymous. • The need for energy measurements. • What are energy bugs and hotspots? Mobilesoft 2017 Keynote 18
  • 19. Re-factoring 19 Resources such as I/O Components and power management utilities have the biggest impact on energy-consumption, hence their usage must be reduced as much as possible without affecting the functionality of the app. PowerConsumption (mW) Mobilesoft 2017 Keynote
  • 21. Extracting Design Expression 21 Ap p Explore UI Analyze Bytecode Event Flow Graph Convert to DFA Deterministic Finite Automata DFA to RE Design Express ion xr is acquire yr is release Change to ab*cxrurdyr Mobilesoft 2017 Keynote
  • 22. So far • Energy and Performance are not synonymous. • The need for energy measurements. • What are energy bugs and hotspots? • Re-factoring Mobilesoft 2017 Keynote 22
  • 23. Field Failures 23 Omnidroi d Issue 98 Battery Drain Concerns … I know it was omnidroid because I looked at the battery use graph and omnidroid was using 8 times more battery than the next highest app Field Failure A defect that is observed by the user, after the software has been shipped Defect Report A report describing the observed defect. Often provided by the user. May or may not be sufficient to recreate and/or fix the defect. Energy Inefficiency A key concern in battery constrained mobile devices Mobilesoft 2017 Keynote
  • 24. Field Failures 24 App App User Reviews/ Bug Reports App Development Challenges on the User Side Challenges on the Developer Side Replicate Defect Localize Defect Visualize Defect Patch Defect Record Sufficient Information to Recreate Defect Convey Observed Defect Information Succinctly Mobilesoft 2017 Keynote
  • 25. Going beyond Mobilesoft 2017 Keynote 25 How can we utilize user comments related to energy consumption to drive present and future mobile SE?
  • 26. Reviews Mobilesoft 2017 Keynote 26 Why do users downvote apps? Crash Advertisement Performance Energy Other functionality Gathered reviews of 170,000 Android apps in Google Play Store.
  • 27. Uninstall ratio - plot Mobilesoft 2017 Keynote 27Uninstallcategory Reviewscategory Highest uninstall ratio observed for energy related issues.
  • 28. Possibility Mobilesoft 2017 Keynote 28 User Review Temporal Logic formula App EventFlo w Graph Model Test Generator Tests Event Keywords: Open, Click, Tap, Drag, … Temporal Keywords: Then, Until, Finally, … HW State Keywords: GPS is on, … UI State Keywords: <different UI states of the app>
  • 30. Example Mobilesoft 2017 Keynote 30 I 'm having a similar problem I have a Dell Streak running dj_steve 's custom Android rom When I open Bitcoin-Android the circular thinking/downloading thing in the top right corner keeps on spinning forever When I close that window the app is still draining my cpu at over 90 % I tried sending 0.01 BTC to it and it never showed up in the app but is confirmed on my pc client I was wondering if this has something to do with me running a custom rom even though every other app seems to work fine G(user_open  (downloading U (user_close  F battery_drain)) G(user_open  (downloading U (user_close  F (user_BCsnd  GBC_rcv )) Test generation, not Model checking
  • 31. Example Mobilesoft 2017 Keynote 31 Had this issue as well turns out the block chain just takes a LONG time to download Once the chain is downloaded took me about 5 hours over 3G my transfers showed up new transfers showed up instantly and the app does n't seem to be draining the battery at all Only dues it when I open it and it needs a few seconds to a minute to download the new blockchain piece G(user_open  (downloading U (downloaded G(battery_ok  (user_BCsnd  F BC_rcv)) Compare with G(user_open  (downloading U (user_close  F battery_drain)) G(user_open  (downloading U (user_close  F (user_BCsnd  GBC_rcv ))
  • 32. Mobilesoft 2017 Keynote 32 Tests App Execution Logs Fault Localization Fault Visualization Patch Suggestion Possible Workflow
  • 33. So far • Energy and Performance are not synonymous. • The need for energy measurements. • What are energy bugs and hotspots? • Re-factoring • Mobile SE based on field failures and reviews Mobilesoft 2017 Keynote 33
  • 34. Looking forward Mobilesoft 2017 Keynote 34 Rise of drones - operations in risky tasks - Disaster Management - Stealth Monitoring Distributed Energy Management - Distributed among tasks - Caters for many operational scenarios
  • 35. Futuristic Disaster Management Mobilesoft 2017 Keynote 35 Tasks Camera Sensors GPS Propulsion Processor Radio Priority Obstacle Avoidance X X X 3 Navigation X X 2 Data gathering + processing X X 1 Rcv cmd, send telemetry X X 2 Price per unit … … … … … …
  • 36. Price Theory Mobilesoft 2017 Keynote 36 Virtual Market- place Tasks Resources 1. Obstacle Avoidance 2. Navigation 3. Telemetry 4. Data gathering/processing 1. Camera 2. Sensors 3. Propulsion 4. Processor 5. Radio Demand Supply
  • 37. Virtual Market-place Mobilesoft 2017 Keynote 37 Battery Agent Task Agents Resource Agents Acquisition Resource Usage
  • 38. Bidding, Price Mobilesoft 2017 Keynote 38 Bn,t,r = min(( Alloct,n + Savet,n), (Bn-1,t,r + (Dt,r - St,r) * Pr) • n is the round number • t is the task • r is the resource Pr = (t Bt,r / Sr) Supply of resource r is increased by transitioning to high energy mode. This is done when Pr becomes too high. Alloct,n captures the decision of the battery agent to allocate battery power so that a maximum battery discharge rate is not crossed.
  • 39. Resource Allocation • How Res. are purchased using Virtual Credits? o Task agents bid for Resources 39 D = 100 S = 50 T1 T2 D = 150 S = 50 S = 100 C1 • Price – Price per Res • $0.02 per Res • Resources allocated based on bids – T1 and T2 get 50 Res 50 50 Mobilesoft 2017 Keynote $1 $1 Price = ($1+$1)/100 = $0.02
  • 40. Resource Allocation • How Res are purchased using Virtual Credits? o Task agents bids more due to supply-demand mismatch 40 D = 100 S = 50 T1 T2 D = 150 S = 50 S = 100 C1 • Price – $0.035 per Res – Increased • T1 gets $1.5/0.035 = 43 units, T2 gets 57 units. • Inflation Scenario $1.5 $2.0 Inflation: Supply < Demand Resources Transition to High Energy Mode Mobilesoft 2017 Keynote
  • 41. Resource Allocation • How Res are purchased using Virtual Credits? o Task agents bids more due to supply-demand mismatch 41 D = 100 S = 50 T1 T2 D = 150 S = 50 S = 300 C1 • Price per Res – $0.012 per Res – Decreased • T1 gets. $1.5/$0.012 = 125 units, T2 gets. $2/0.012 = 166 units ! $1.5 $2.0 Deflation: Supply > Demand Resources Transition to Low Energy Mode Can even shut down some of the units? Mobilesoft 2017 Keynote
  • 42. Resource Allocation • How PUs are purchased using Virtual Money? o Task agents bids more due to supply-demand mismatch 42 D = 100 S = 100 T1 T2 D = 150 S = 150 S = 250 C1 • Supply meets Demand – No change – Price is constant 100 PUs 150 PUs Stable: Supply = Demand Energy Mode not changed Mobilesoft 2017 Keynote
  • 43. Resource Allocation • Summary o Task bids • More – Under-Supplied • Less – Over-Supplied • Constant – Supply meets Demand o Prevent Inflation/Deflation in prices • By transitioning the resources between energy modes • Maintain a maximum cutoff battery discharge rate • Maintain expected battery life, while maximizing functionality • Energy management of mobile devices in many operational scenarios. 43 Detailed example of distributed energy management in drones can be seen from the accompanying paper. Mobilesoft 2017 Keynote
  • 44. In this talk • Energy and Performance are not synonymous. • The need for energy measurements. • What are energy bugs and hotspots? • Re-factoring • Mobile SE based on field failures and reviews • Energy management in other mobile devices. Mobilesoft 2017 Keynote 44
  • 45. Outlook Mobilesoft 2017 Keynote 45 Exploiting user reviews in apps Energy management in drones