SlideShare a Scribd company logo
An Empirical Study of Android Alarm
Usage for Application Scheduling
Mario Almeida1
, Muhammad Bilal1
Jeremy Blackburn2
, Konstantina Papagiannaki2
1
Polytechnic University of Catalonia
2
Telefonica Research
1
(4knahs@gmail.com)
Energy: Major Concern for Mobiles
● Main Culprits?
○ Screen
○ Radio
○ CPU
○ Graphics
○ Sensors
● Interactive Use
● Background Use
(ACM ID 1855861 USENIXATC'10)
2
How Much Background Use Is There?
Online presence apps tend to run in
background 70-80% of the time!
(Andrius et al CONEXT’13)
3
How Much Background Use Is There?
Up to 9 times faster energy drain with 4 popular apps!
(Andrius et al CONEXT’13)
4
How To Schedule Background Tasks?
Android alarms to the rescue!
Time critical (exact) or not (inexact/deferrable)
Apps can determine:
● Deferrability
● Trigger time
● Repetition interval of alarms!
5
How To Schedule Background Tasks?
From Android Kitkat (19) alarms can be batched!
● Reduced wakeups
● Saves energy (data)
6
Major target of energy saving innovation in last 2 Google IO conferences!
Traffic shaping (e.g., batching) cannot ignore app-
protocol interaction & OS integration
*Vergara et al IWCMC’13
How To Schedule Background Tasks?
Android 6 (SDK23 ,Oct 15) -> 3 new APIsJobInfo APIs (21) not adopted by apps
7
How To Schedule Background Tasks?
8
Android
Studio
Eclipse
How To Schedule Background Tasks?
Android 6 (SDK23 ,Oct 15) -> 3 new APIsJobInfo APIs (21) not adopted by apps
9
API Fragmentation leads to unpredictable
QoS/performance
Questions
● How outdated are target SDKs?
● How widespread is alarm usage?
● How do apps use alarms?
● How do alarms impact a running device?
● How to improve alarm usage?
?
10
Dataset & Methodology
● Google Play Store Crawler
○ Up to 564 of the most popular free apps for each
app category
○ >22K unique apps
● Popular apps
○ + representative apps on user devices
○ + likely -> optimized for energy consumption
> 81% of total
downloads!
11
May 2015
*Viennot et al SIGMETRICS’14
Dataset & Methodology
Static analysis:
○ Alarm API usage
○ Annotations (e.g., TargetApi)
○ Package names
○ Target SDKs
12
Skype
How Outdated Are Target SDKs?
Majority (76%)
18 months.
(SDK<=19).
~Half lagging by >
21 months!
13
How Widespread Is Alarm Usage?
Most Alarms Exact Alarms
Widgets (80%) Casino games (37.9%)
Wallpapers (63%) Weather (35%)
Personalization (60%) Family games (32.5%)
Communication(59%) Communication (32.1%)
47% of apps use
alarms
Apps define up to 70
alarm!
14
Why Are Alarms So Widespread?
10% of ALL alarms
are defined in
these libraries
22% are
exact!
15
How Do Apps Use Alarms?
31.5% of all alarms are repeating!
*Note: apps can have both exact and inexact alarms!
16
SDK < 19
Alarm Type
Percentage of
Apps
Inexact Alarms 8.49%
Exact Alarm 44.05%
Any Alarm 46.06%
SDK >= 19
Alarm Type Percentage of
Apps
Inexact Alarms 52.91%
Exact Alarm 2.31%
Any Alarm 53.49%
Is It That Many Apps Are Outdated?
Even regularly
updated apps often
do not update their
SDK!
17
How Do Alarms Impact A Running
Device?
Experiment:
● Install dataset apps on freshly flashed device
● Run them once and let them on for 30m
● Reboot, let the phone go idle, wait 30m
● Record alarm definitions/wake ups for 3h
We used a device with Android 4.4.4 (SDK 19)
with alarm batching capabilities!
18
How Do Alarms Impact A Running
Device?
Dataset 1:
● 30 most popular apps
○ >1K to >500M downloads
Dataset 2:
● 30 apps with most setRepeating alarms and
SDK <19
○ deferred if SDK>= 19
19
How Frequent Are Device Wakeups?
Not deferred due to SDK target!
High correlation (r=0.86, p<0.01)
alarm registered <-> wakeups
20
Dataset 1:
● 261 alarms registered, 20% woke the
device
Dataset 2:
● 1041 alarms registered, 61% woke
device!
Examples Of Careless Alarm Usage
● Norton Security & Antivirus
○ Both SDK 17, 10M-50M downloads, together
woke the device 141 times!
● Spoora (instant messaging)
○ SDK 9, 10-50K downloads, woke the device 372
times!
● Facebook app & messenger
○ Do not share communication, both do keep-alives
and woke the device 47 times!
21
How To Improve Alarm Usage?
● Improve dev knowledge?
○ What about API fragmentation?
● Make all alarms inexact?
○ Does it break?
● Simply target a newer SDK?
○ Might work for more recent devices
● iOS?
○ Are alarms really needed?
22
Summary
● ~ 50% apps define alarms, from which ~40%
have exact alarms.
● Alarms & API fragmentation can greatly affect
energy efficiency.
● Most alarms use APIs outdated by >18months.
● Alarms:
○ Present in all categories.
○ Up to 70 alarm definitions per app.
○ At least 10% due to 3rd party libs.
○ Can wake the device very often -> wrong SDK 23
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE
ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME
Thank You For Your Time!
Questions?
24
News prior to study!
Doze:
● Android 6 -> SDK 23 (study is <= 22).
● Long period of inactivity -> defer alarms
● setExact() and setWindow() -> deferred
● BUT:
○ 3 new apis (setAndAllowWhileIdle,
setExactAndAllowWhileIdle and setAlarmClock)
○ Better name semantics, devs can still misuse!
25
Image rights
https://commons.wikimedia.org/wiki/File:
Android_sick.svg
https://c2.staticflickr.
com/6/5306/5642989630_bd05b2544c_b.jpg
26

More Related Content

Similar to Empirical Study of Android Alarm Usage for Application Scheduling

What no one tells you about mobile learning - Brunchography April 2016
What no one tells you about mobile learning - Brunchography April 2016What no one tells you about mobile learning - Brunchography April 2016
What no one tells you about mobile learning - Brunchography April 2016
Penelope (Penny) de Luna
 
Humans and machines being human in the age of ai
Humans and machines   being human in the age of aiHumans and machines   being human in the age of ai
Humans and machines being human in the age of ai
Harvey Bennett
 
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
Vlad Styran
 
Quantified-Self and Lifelogging Meets Internet of Things (IOT)
Quantified-Self and Lifelogging Meets Internet of Things (IOT)Quantified-Self and Lifelogging Meets Internet of Things (IOT)
Quantified-Self and Lifelogging Meets Internet of Things (IOT)
Dr. Mazlan Abbas
 
Consumer Electronics_B Plan Final
Consumer Electronics_B Plan FinalConsumer Electronics_B Plan Final
Consumer Electronics_B Plan Final
Vikram Bothra
 
Cyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital WorldCyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital World
qubanewmedia
 
Small data big impact
Small data big impactSmall data big impact
Small data big impact
University of Hertfordshire
 
Technologies That Will Change Everything
Technologies That Will Change EverythingTechnologies That Will Change Everything
Technologies That Will Change Everything
University of Hertfordshire
 
Current Trends and Future of Media and Information.pptx
Current Trends and Future of Media and Information.pptxCurrent Trends and Future of Media and Information.pptx
Current Trends and Future of Media and Information.pptx
Marissa Ramos
 
Telecom service futures driven by customer need
Telecom service futures driven by customer needTelecom service futures driven by customer need
Telecom service futures driven by customer need
University of Hertfordshire
 
Cyber Security in a Fully Mobile World
Cyber Security in a Fully Mobile WorldCyber Security in a Fully Mobile World
Cyber Security in a Fully Mobile World
University of Hertfordshire
 
Why the Future of Work Will Be Dominated by Asia
Why the Future of Work Will Be Dominated by AsiaWhy the Future of Work Will Be Dominated by Asia
Why the Future of Work Will Be Dominated by Asia
Crowdsourcing Week
 
The Marketing Technologist: Neo of the Marketing Matrix
The Marketing Technologist: Neo of the Marketing MatrixThe Marketing Technologist: Neo of the Marketing Matrix
The Marketing Technologist: Neo of the Marketing Matrix
ion interactive
 
Deja vu security Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
Deja vu security   Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...Deja vu security   Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
Deja vu security Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
adamdeja
 
Current and future trends of media and information
Current and future trends of media and informationCurrent and future trends of media and information
Current and future trends of media and information
SydreysydreyFanuncio
 
Possibilities and perils of the data-driven world.
Possibilities and perils of the data-driven world.Possibilities and perils of the data-driven world.
Possibilities and perils of the data-driven world.
joshuakauffman
 
Persuading your organisation to do awesome things
Persuading your organisation to do awesome thingsPersuading your organisation to do awesome things
Persuading your organisation to do awesome things
Jacqueline (Jax) Wechsler
 
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation ExpertKennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
Craig Rispin
 

Similar to Empirical Study of Android Alarm Usage for Application Scheduling (20)

What no one tells you about mobile learning - Brunchography April 2016
What no one tells you about mobile learning - Brunchography April 2016What no one tells you about mobile learning - Brunchography April 2016
What no one tells you about mobile learning - Brunchography April 2016
 
Humans and machines being human in the age of ai
Humans and machines   being human in the age of aiHumans and machines   being human in the age of ai
Humans and machines being human in the age of ai
 
sanfranAIG3
sanfranAIG3sanfranAIG3
sanfranAIG3
 
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
 
Quantified-Self and Lifelogging Meets Internet of Things (IOT)
Quantified-Self and Lifelogging Meets Internet of Things (IOT)Quantified-Self and Lifelogging Meets Internet of Things (IOT)
Quantified-Self and Lifelogging Meets Internet of Things (IOT)
 
Consumer Electronics_B Plan Final
Consumer Electronics_B Plan FinalConsumer Electronics_B Plan Final
Consumer Electronics_B Plan Final
 
Cyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital WorldCyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital World
 
Small data big impact
Small data big impactSmall data big impact
Small data big impact
 
Technologies That Will Change Everything
Technologies That Will Change EverythingTechnologies That Will Change Everything
Technologies That Will Change Everything
 
Current Trends and Future of Media and Information.pptx
Current Trends and Future of Media and Information.pptxCurrent Trends and Future of Media and Information.pptx
Current Trends and Future of Media and Information.pptx
 
Telecom service futures driven by customer need
Telecom service futures driven by customer needTelecom service futures driven by customer need
Telecom service futures driven by customer need
 
Cyber Security in a Fully Mobile World
Cyber Security in a Fully Mobile WorldCyber Security in a Fully Mobile World
Cyber Security in a Fully Mobile World
 
Webcontenting2
Webcontenting2Webcontenting2
Webcontenting2
 
Why the Future of Work Will Be Dominated by Asia
Why the Future of Work Will Be Dominated by AsiaWhy the Future of Work Will Be Dominated by Asia
Why the Future of Work Will Be Dominated by Asia
 
The Marketing Technologist: Neo of the Marketing Matrix
The Marketing Technologist: Neo of the Marketing MatrixThe Marketing Technologist: Neo of the Marketing Matrix
The Marketing Technologist: Neo of the Marketing Matrix
 
Deja vu security Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
Deja vu security   Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...Deja vu security   Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
Deja vu security Adam Cecchetti - Security is a Snapshot in Time BSidesPDX ...
 
Current and future trends of media and information
Current and future trends of media and informationCurrent and future trends of media and information
Current and future trends of media and information
 
Possibilities and perils of the data-driven world.
Possibilities and perils of the data-driven world.Possibilities and perils of the data-driven world.
Possibilities and perils of the data-driven world.
 
Persuading your organisation to do awesome things
Persuading your organisation to do awesome thingsPersuading your organisation to do awesome things
Persuading your organisation to do awesome things
 
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation ExpertKennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
Kennards Hire Planning Day - Craig Rispin, Business Futurist & Innovation Expert
 

More from Mário Almeida

Android reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skypeAndroid reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skype
Mário Almeida
 
Spark
SparkSpark
High-Availability of YARN (MRv2)
High-Availability of YARN (MRv2)High-Availability of YARN (MRv2)
High-Availability of YARN (MRv2)
Mário Almeida
 
Flume impact of reliability on scalability
Flume impact of reliability on scalabilityFlume impact of reliability on scalability
Flume impact of reliability on scalabilityMário Almeida
 
Dimemas and Multi-Level Cache Simulations
Dimemas and Multi-Level Cache SimulationsDimemas and Multi-Level Cache Simulations
Dimemas and Multi-Level Cache Simulations
Mário Almeida
 
Self-Adapting, Energy-Conserving Distributed File Systems
Self-Adapting, Energy-Conserving Distributed File SystemsSelf-Adapting, Energy-Conserving Distributed File Systems
Self-Adapting, Energy-Conserving Distributed File Systems
Mário Almeida
 
Smith waterman algorithm parallelization
Smith waterman algorithm parallelizationSmith waterman algorithm parallelization
Smith waterman algorithm parallelization
Mário Almeida
 
Man-In-The-Browser attacks
Man-In-The-Browser attacksMan-In-The-Browser attacks
Man-In-The-Browser attacks
Mário Almeida
 
Flume-based Independent News Aggregator
Flume-based Independent News AggregatorFlume-based Independent News Aggregator
Flume-based Independent News AggregatorMário Almeida
 
Exploiting Availability Prediction in Distributed Systems
Exploiting Availability Prediction in Distributed SystemsExploiting Availability Prediction in Distributed Systems
Exploiting Availability Prediction in Distributed Systems
Mário Almeida
 
High Availability of Services in Wide-Area Shared Computing Networks
High Availability of Services in Wide-Area Shared Computing NetworksHigh Availability of Services in Wide-Area Shared Computing Networks
High Availability of Services in Wide-Area Shared Computing Networks
Mário Almeida
 
Instrumenting parsecs raytrace
Instrumenting parsecs raytraceInstrumenting parsecs raytrace
Instrumenting parsecs raytrace
Mário Almeida
 
Architecting a cloud scale identity fabric
Architecting a cloud scale identity fabricArchitecting a cloud scale identity fabric
Architecting a cloud scale identity fabric
Mário Almeida
 
SOAP vs REST
SOAP vs RESTSOAP vs REST
SOAP vs REST
Mário Almeida
 

More from Mário Almeida (14)

Android reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skypeAndroid reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skype
 
Spark
SparkSpark
Spark
 
High-Availability of YARN (MRv2)
High-Availability of YARN (MRv2)High-Availability of YARN (MRv2)
High-Availability of YARN (MRv2)
 
Flume impact of reliability on scalability
Flume impact of reliability on scalabilityFlume impact of reliability on scalability
Flume impact of reliability on scalability
 
Dimemas and Multi-Level Cache Simulations
Dimemas and Multi-Level Cache SimulationsDimemas and Multi-Level Cache Simulations
Dimemas and Multi-Level Cache Simulations
 
Self-Adapting, Energy-Conserving Distributed File Systems
Self-Adapting, Energy-Conserving Distributed File SystemsSelf-Adapting, Energy-Conserving Distributed File Systems
Self-Adapting, Energy-Conserving Distributed File Systems
 
Smith waterman algorithm parallelization
Smith waterman algorithm parallelizationSmith waterman algorithm parallelization
Smith waterman algorithm parallelization
 
Man-In-The-Browser attacks
Man-In-The-Browser attacksMan-In-The-Browser attacks
Man-In-The-Browser attacks
 
Flume-based Independent News Aggregator
Flume-based Independent News AggregatorFlume-based Independent News Aggregator
Flume-based Independent News Aggregator
 
Exploiting Availability Prediction in Distributed Systems
Exploiting Availability Prediction in Distributed SystemsExploiting Availability Prediction in Distributed Systems
Exploiting Availability Prediction in Distributed Systems
 
High Availability of Services in Wide-Area Shared Computing Networks
High Availability of Services in Wide-Area Shared Computing NetworksHigh Availability of Services in Wide-Area Shared Computing Networks
High Availability of Services in Wide-Area Shared Computing Networks
 
Instrumenting parsecs raytrace
Instrumenting parsecs raytraceInstrumenting parsecs raytrace
Instrumenting parsecs raytrace
 
Architecting a cloud scale identity fabric
Architecting a cloud scale identity fabricArchitecting a cloud scale identity fabric
Architecting a cloud scale identity fabric
 
SOAP vs REST
SOAP vs RESTSOAP vs REST
SOAP vs REST
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Empirical Study of Android Alarm Usage for Application Scheduling

  • 1. An Empirical Study of Android Alarm Usage for Application Scheduling Mario Almeida1 , Muhammad Bilal1 Jeremy Blackburn2 , Konstantina Papagiannaki2 1 Polytechnic University of Catalonia 2 Telefonica Research 1 (4knahs@gmail.com)
  • 2. Energy: Major Concern for Mobiles ● Main Culprits? ○ Screen ○ Radio ○ CPU ○ Graphics ○ Sensors ● Interactive Use ● Background Use (ACM ID 1855861 USENIXATC'10) 2
  • 3. How Much Background Use Is There? Online presence apps tend to run in background 70-80% of the time! (Andrius et al CONEXT’13) 3
  • 4. How Much Background Use Is There? Up to 9 times faster energy drain with 4 popular apps! (Andrius et al CONEXT’13) 4
  • 5. How To Schedule Background Tasks? Android alarms to the rescue! Time critical (exact) or not (inexact/deferrable) Apps can determine: ● Deferrability ● Trigger time ● Repetition interval of alarms! 5
  • 6. How To Schedule Background Tasks? From Android Kitkat (19) alarms can be batched! ● Reduced wakeups ● Saves energy (data) 6 Major target of energy saving innovation in last 2 Google IO conferences! Traffic shaping (e.g., batching) cannot ignore app- protocol interaction & OS integration *Vergara et al IWCMC’13
  • 7. How To Schedule Background Tasks? Android 6 (SDK23 ,Oct 15) -> 3 new APIsJobInfo APIs (21) not adopted by apps 7
  • 8. How To Schedule Background Tasks? 8 Android Studio Eclipse
  • 9. How To Schedule Background Tasks? Android 6 (SDK23 ,Oct 15) -> 3 new APIsJobInfo APIs (21) not adopted by apps 9 API Fragmentation leads to unpredictable QoS/performance
  • 10. Questions ● How outdated are target SDKs? ● How widespread is alarm usage? ● How do apps use alarms? ● How do alarms impact a running device? ● How to improve alarm usage? ? 10
  • 11. Dataset & Methodology ● Google Play Store Crawler ○ Up to 564 of the most popular free apps for each app category ○ >22K unique apps ● Popular apps ○ + representative apps on user devices ○ + likely -> optimized for energy consumption > 81% of total downloads! 11 May 2015 *Viennot et al SIGMETRICS’14
  • 12. Dataset & Methodology Static analysis: ○ Alarm API usage ○ Annotations (e.g., TargetApi) ○ Package names ○ Target SDKs 12 Skype
  • 13. How Outdated Are Target SDKs? Majority (76%) 18 months. (SDK<=19). ~Half lagging by > 21 months! 13
  • 14. How Widespread Is Alarm Usage? Most Alarms Exact Alarms Widgets (80%) Casino games (37.9%) Wallpapers (63%) Weather (35%) Personalization (60%) Family games (32.5%) Communication(59%) Communication (32.1%) 47% of apps use alarms Apps define up to 70 alarm! 14
  • 15. Why Are Alarms So Widespread? 10% of ALL alarms are defined in these libraries 22% are exact! 15
  • 16. How Do Apps Use Alarms? 31.5% of all alarms are repeating! *Note: apps can have both exact and inexact alarms! 16 SDK < 19 Alarm Type Percentage of Apps Inexact Alarms 8.49% Exact Alarm 44.05% Any Alarm 46.06% SDK >= 19 Alarm Type Percentage of Apps Inexact Alarms 52.91% Exact Alarm 2.31% Any Alarm 53.49%
  • 17. Is It That Many Apps Are Outdated? Even regularly updated apps often do not update their SDK! 17
  • 18. How Do Alarms Impact A Running Device? Experiment: ● Install dataset apps on freshly flashed device ● Run them once and let them on for 30m ● Reboot, let the phone go idle, wait 30m ● Record alarm definitions/wake ups for 3h We used a device with Android 4.4.4 (SDK 19) with alarm batching capabilities! 18
  • 19. How Do Alarms Impact A Running Device? Dataset 1: ● 30 most popular apps ○ >1K to >500M downloads Dataset 2: ● 30 apps with most setRepeating alarms and SDK <19 ○ deferred if SDK>= 19 19
  • 20. How Frequent Are Device Wakeups? Not deferred due to SDK target! High correlation (r=0.86, p<0.01) alarm registered <-> wakeups 20 Dataset 1: ● 261 alarms registered, 20% woke the device Dataset 2: ● 1041 alarms registered, 61% woke device!
  • 21. Examples Of Careless Alarm Usage ● Norton Security & Antivirus ○ Both SDK 17, 10M-50M downloads, together woke the device 141 times! ● Spoora (instant messaging) ○ SDK 9, 10-50K downloads, woke the device 372 times! ● Facebook app & messenger ○ Do not share communication, both do keep-alives and woke the device 47 times! 21
  • 22. How To Improve Alarm Usage? ● Improve dev knowledge? ○ What about API fragmentation? ● Make all alarms inexact? ○ Does it break? ● Simply target a newer SDK? ○ Might work for more recent devices ● iOS? ○ Are alarms really needed? 22
  • 23. Summary ● ~ 50% apps define alarms, from which ~40% have exact alarms. ● Alarms & API fragmentation can greatly affect energy efficiency. ● Most alarms use APIs outdated by >18months. ● Alarms: ○ Present in all categories. ○ Up to 70 alarm definitions per app. ○ At least 10% due to 3rd party libs. ○ Can wake the device very often -> wrong SDK 23
  • 24. CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME CITE ME Thank You For Your Time! Questions? 24
  • 25. News prior to study! Doze: ● Android 6 -> SDK 23 (study is <= 22). ● Long period of inactivity -> defer alarms ● setExact() and setWindow() -> deferred ● BUT: ○ 3 new apis (setAndAllowWhileIdle, setExactAndAllowWhileIdle and setAlarmClock) ○ Better name semantics, devs can still misuse! 25