SlideShare a Scribd company logo
1 of 44
Download to read offline
Energy Patterns for Web:
An Exploratory Study
Pooja Rani, Jonas Zellweger, Veronika Kousadianos,
Luis Cruz, Timo Kehrer, Alberto Bacchelli,
University of Zurich, Switzerland
2
Data Source: Climate Action Tracker
3
Data Source: Climate Action Tracker
/**
* TODO
*/
public void log(String s) {
System.out.println(s);
}
Is it our problem?
5
ICT: Information and Communication Technology
Around 4.6 billion people use the internet every day.
Is it our problem?
6
ICT: Information and Communication Technology
Around 4.6 billion people use the internet every day.
Is it our problem?
7
ICT: Information and Communication Technology
Around 4.6 billion people use the internet every day.
Is it our problem?
8
ICT: Information and Communication Technology
Around 4.6 billion people use the internet every day.
Is it our problem?
9
Bree et al.,, 2022, The energy cost of the visitor pattern
What can we do?
Being aware of energy-related coding practices
in web world can help us make better choices
10
Bree et al.,, 2022, The energy cost of the visitor pattern
What can we do?
Energy patterns
Being aware of energy-related coding practices
in web world can help us make better choices
11
Gillies et al. 2011
It requires a multi-perspective view
12
RQ1
Are there energy patterns for
Web apps?
It requires a multi-perspective view
13
RQ1
Are there energy patterns for
Web apps?
What is developers’
perception on patterns? RQ2
It requires a multi-perspective view
14
RQ1
Are there energy patterns for
Web apps?
Do energy patterns
really impact?
RQ3
What is developers’
perception on patterns? RQ2
It requires a multi-perspective view
15
RQ1
Are there energy patterns for
Web apps?
It requires a multi-perspective view
Do energy patterns
really impact?
RQ3
What is developers’
perception on patterns? RQ2
16
https://tqrg.github.io/energy-patterns/#/
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
22 Mobile
energy patterns
RQ1: Energy Patterns for the Web
17
https://tqrg.github.io/energy-patterns/#/
2
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
20 Web
energy patterns
RQ1: Energy Patterns for the Web
20
18
https://tqrg.github.io/energy-patterns/#/
RQ2: Developers’ Perception on Patterns
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
20 Web
energy patterns
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
19
https://tqrg.github.io/energy-patterns/#/
RQ2: Developers’ Perception on Patterns
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
20
https://tqrg.github.io/energy-patterns/#/
1 sec
2 sec
4 sec
RQ2: Developers’ Perception on Patterns
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
21
https://tqrg.github.io/energy-patterns/#/
1 sec
2 sec
4 sec
RQ2: Developers’ Perception on Patterns
Pattern
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
22
https://tqrg.github.io/energy-patterns/#/
1 sec
2 sec
4 sec
RQ2: Developers’ Perception on Patterns
Pattern
3 sec
3 sec
3 sec
(Anti)pattern
23
RQ2: Developers’ Perception on Patterns
familiarity
on patterns
24
RQ2: Developers’ Perception on Patterns
familiarity
on patterns
Concerns on
antipatterns
25
RQ2: Developers’ Perception on Patterns
familiarity
on patterns
Patterns in
source code
Concerns on
antipatterns
26
RQ2: Developers’ Perception on Patterns
familiarity
on patterns
Patterns in
source code
Other
questions
Concerns on
antipatterns
Case study with 6
web developers
27
Familiar with Energy Patterns
17% 17%
66%
Never heard Strong understanding
28
Concerns about Anti-patterns
17% 33% 50%
Open Only When Necessary
17% 17% 66%
Dynamic Retry Delay
Least concerned Extremely concerned
29
Energy Patterns in Source code
30
9 patterns found in code
11 anti patterns in code
4 not applicable to code
Energy Patterns in Source code
31
RQ3: Impact of Energy Patterns
Do they
really impact?
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
32
RQ3: Impact of Energy Patterns
1 sec
2 sec
4 sec
Pattern
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
33
RQ3: Impact of Energy Patterns
3 sec
3 sec
3 sec
(Anti)pattern
1 sec
2 sec
4 sec
Pattern
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
34
RQ3: Impact of Energy Patterns
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
35
RQ3: Impact of Energy Patterns
load images as scroll
Pattern
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
36
RQ3: Impact of Energy Patterns
load images as scroll
Pattern
load all images
(Anti)pattern
Dark UI Colors
Provide a dark UI colour theme to save battery.
Dynamic Retry Delay
Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it
Open Only When Necessary
Open/start resources/services only when they are strictly necessary.
Push Over Poll
Use push notifications to receive updates from resources instead of actively querying resources (polling)
Power Awareness
Have a different behavior when device is connected/disconnected to a power station
Wifi Over Cellular
Delay or disable heavy data connections until the device is connected to a WiFi network
37
RQ3: Impact of Energy Patterns
38
https://tqrg.github.io/energy-patterns/#/
Takeaways
83% developers are not familiar with energy patterns.
Developers are concerned about many anti patterns.
They could find 16 (anti) patterns in source code.
Energy impact of energy patterns vary.
39
Paper
Replication Package
My pro
fi
le
More Curious?
41
(4) Inquire about
patterns in source code
(6) questions on
demographic info
welcome &
instructions
(1) Insights on energy
pattern awareness
(2) Introduction of
energy (anti) patterns
(5) Resource investment
for energy patterns
(3) Concerns for energy
(anti) patterns
Case study with 3 web developers
from a energy-grid based company
3 developers from
other companies
RQ2: Developers’ Perception on Patterns
42
PowerLog
Measure energy
consumption
User scenarios for
energy(anti) patterns
Start Browser and
Demo websites
Execute scenario
on websites
Compute results
Start Pipeline Quit Browser
50 Iterations
RQ3: Impact of Energy Patterns
43
44
Technologies disappear, software
updates, increasing development costs
due to technical debt, high-performance
systems that need high power.
Saputri and Lee, 2021, Integrated framework for incorporating sustainability design in software engineering life-cycle: An empirical study

More Related Content

Similar to Energy Patterns for Web: An Exploratory Study

A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...
A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...
A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...rahulmonikasharma
 
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...Smart Villages
 
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...PresidencyUniversity
 
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...Ed Dodds
 
iMinds The Conference: Danny Hughes
iMinds The Conference: Danny HughesiMinds The Conference: Danny Hughes
iMinds The Conference: Danny Hughesimec
 
Project Report on Smart Dustbin
Project Report on Smart Dustbin Project Report on Smart Dustbin
Project Report on Smart Dustbin Lakshya Pandey
 
Toward Greener Cyberinfrastructure
Toward Greener CyberinfrastructureToward Greener Cyberinfrastructure
Toward Greener CyberinfrastructureLarry Smarr
 
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNING
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNINGAUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNING
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNINGvivatechijri
 
Cal-(IT)2 Projects with Sun Microsystems
Cal-(IT)2 Projects with Sun MicrosystemsCal-(IT)2 Projects with Sun Microsystems
Cal-(IT)2 Projects with Sun MicrosystemsLarry Smarr
 
The Internet You Want
The Internet You WantThe Internet You Want
The Internet You WantUS-Ignite
 
The Emergence of the Digitally Connected World
The Emergence of the Digitally Connected WorldThe Emergence of the Digitally Connected World
The Emergence of the Digitally Connected WorldLarry Smarr
 
When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)Dominique Guinard
 
Show and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfShow and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfSIFOfgem
 
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...Heather Strinden
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6Romania Testing
 
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...IRJET Journal
 

Similar to Energy Patterns for Web: An Exploratory Study (20)

A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...
A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...
A Result Paper on: Power Grid Associated With Web Using Non-Conventional Ener...
 
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...
Colombo | Nov-15 | SOLshare - Create a network. Share electricity. Brighten t...
 
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...
Role of Big Data Analytics in Power System Application Ravi v angadi asst. pr...
 
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
 
iMinds The Conference: Danny Hughes
iMinds The Conference: Danny HughesiMinds The Conference: Danny Hughes
iMinds The Conference: Danny Hughes
 
Project Report on Smart Dustbin
Project Report on Smart Dustbin Project Report on Smart Dustbin
Project Report on Smart Dustbin
 
Toward Greener Cyberinfrastructure
Toward Greener CyberinfrastructureToward Greener Cyberinfrastructure
Toward Greener Cyberinfrastructure
 
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNING
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNINGAUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNING
AUTOMATED E-WASTE DISPOSAL USING MACHINE LEARNING
 
Internet2
Internet2Internet2
Internet2
 
Cal-(IT)2 Projects with Sun Microsystems
Cal-(IT)2 Projects with Sun MicrosystemsCal-(IT)2 Projects with Sun Microsystems
Cal-(IT)2 Projects with Sun Microsystems
 
The Internet You Want
The Internet You WantThe Internet You Want
The Internet You Want
 
Project GreenLight
Project GreenLightProject GreenLight
Project GreenLight
 
V2X, V2I, and the Cellular Infrastructure
V2X, V2I, and the Cellular InfrastructureV2X, V2I, and the Cellular Infrastructure
V2X, V2I, and the Cellular Infrastructure
 
Open Source for Open Broadband Access
Open Source for Open Broadband AccessOpen Source for Open Broadband Access
Open Source for Open Broadband Access
 
The Emergence of the Digitally Connected World
The Emergence of the Digitally Connected WorldThe Emergence of the Digitally Connected World
The Emergence of the Digitally Connected World
 
When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)
 
Show and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfShow and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdf
 
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...
A Solar Powered Electricity Backup System For Fantsuam Foundation S Community...
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6
 
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...
A Survey on Solar Based Smart Antibiotic Sprinkler System Using Internet of T...
 

More from Pooja Rani

A Decade of Comment Quality Assessment: A Systematic Literature Review
A Decade of Comment Quality Assessment: A Systematic Literature ReviewA Decade of Comment Quality Assessment: A Systematic Literature Review
A Decade of Comment Quality Assessment: A Systematic Literature ReviewPooja Rani
 
Can We Automatically Generate Class Comments in Pharo?
Can We Automatically Generate Class Comments in Pharo?Can We Automatically Generate Class Comments in Pharo?
Can We Automatically Generate Class Comments in Pharo?Pooja Rani
 
What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...Pooja Rani
 
How to Identify Class Comment Types? A Multi-language Approach for Class Com...
How to Identify Class Comment Types?  A Multi-language Approach for Class Com...How to Identify Class Comment Types?  A Multi-language Approach for Class Com...
How to Identify Class Comment Types? A Multi-language Approach for Class Com...Pooja Rani
 
PhD defense presenation
PhD defense presenationPhD defense presenation
PhD defense presenationPooja Rani
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?Pooja Rani
 
Speculative analysis for comment quality assessment
Speculative analysis for comment quality assessmentSpeculative analysis for comment quality assessment
Speculative analysis for comment quality assessmentPooja Rani
 
Let linguistics guide software analysis
Let linguistics guide software analysisLet linguistics guide software analysis
Let linguistics guide software analysisPooja Rani
 
Comment soup with a pinch of types
Comment soup with a pinch of typesComment soup with a pinch of types
Comment soup with a pinch of typesPooja Rani
 
Software Analysis using Natural Language Queries
Software Analysis using Natural Language QueriesSoftware Analysis using Natural Language Queries
Software Analysis using Natural Language QueriesPooja Rani
 

More from Pooja Rani (10)

A Decade of Comment Quality Assessment: A Systematic Literature Review
A Decade of Comment Quality Assessment: A Systematic Literature ReviewA Decade of Comment Quality Assessment: A Systematic Literature Review
A Decade of Comment Quality Assessment: A Systematic Literature Review
 
Can We Automatically Generate Class Comments in Pharo?
Can We Automatically Generate Class Comments in Pharo?Can We Automatically Generate Class Comments in Pharo?
Can We Automatically Generate Class Comments in Pharo?
 
What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...
 
How to Identify Class Comment Types? A Multi-language Approach for Class Com...
How to Identify Class Comment Types?  A Multi-language Approach for Class Com...How to Identify Class Comment Types?  A Multi-language Approach for Class Com...
How to Identify Class Comment Types? A Multi-language Approach for Class Com...
 
PhD defense presenation
PhD defense presenationPhD defense presenation
PhD defense presenation
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?
 
Speculative analysis for comment quality assessment
Speculative analysis for comment quality assessmentSpeculative analysis for comment quality assessment
Speculative analysis for comment quality assessment
 
Let linguistics guide software analysis
Let linguistics guide software analysisLet linguistics guide software analysis
Let linguistics guide software analysis
 
Comment soup with a pinch of types
Comment soup with a pinch of typesComment soup with a pinch of types
Comment soup with a pinch of types
 
Software Analysis using Natural Language Queries
Software Analysis using Natural Language QueriesSoftware Analysis using Natural Language Queries
Software Analysis using Natural Language Queries
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Energy Patterns for Web: An Exploratory Study

  • 1. Energy Patterns for Web: An Exploratory Study Pooja Rani, Jonas Zellweger, Veronika Kousadianos, Luis Cruz, Timo Kehrer, Alberto Bacchelli, University of Zurich, Switzerland
  • 2. 2 Data Source: Climate Action Tracker
  • 3. 3 Data Source: Climate Action Tracker
  • 4. /** * TODO */ public void log(String s) { System.out.println(s); } Is it our problem?
  • 5. 5 ICT: Information and Communication Technology Around 4.6 billion people use the internet every day. Is it our problem?
  • 6. 6 ICT: Information and Communication Technology Around 4.6 billion people use the internet every day. Is it our problem?
  • 7. 7 ICT: Information and Communication Technology Around 4.6 billion people use the internet every day. Is it our problem?
  • 8. 8 ICT: Information and Communication Technology Around 4.6 billion people use the internet every day. Is it our problem?
  • 9. 9 Bree et al.,, 2022, The energy cost of the visitor pattern What can we do? Being aware of energy-related coding practices in web world can help us make better choices
  • 10. 10 Bree et al.,, 2022, The energy cost of the visitor pattern What can we do? Energy patterns Being aware of energy-related coding practices in web world can help us make better choices
  • 11. 11 Gillies et al. 2011 It requires a multi-perspective view
  • 12. 12 RQ1 Are there energy patterns for Web apps? It requires a multi-perspective view
  • 13. 13 RQ1 Are there energy patterns for Web apps? What is developers’ perception on patterns? RQ2 It requires a multi-perspective view
  • 14. 14 RQ1 Are there energy patterns for Web apps? Do energy patterns really impact? RQ3 What is developers’ perception on patterns? RQ2 It requires a multi-perspective view
  • 15. 15 RQ1 Are there energy patterns for Web apps? It requires a multi-perspective view Do energy patterns really impact? RQ3 What is developers’ perception on patterns? RQ2
  • 16. 16 https://tqrg.github.io/energy-patterns/#/ Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 22 Mobile energy patterns RQ1: Energy Patterns for the Web
  • 17. 17 https://tqrg.github.io/energy-patterns/#/ 2 Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 20 Web energy patterns RQ1: Energy Patterns for the Web 20
  • 18. 18 https://tqrg.github.io/energy-patterns/#/ RQ2: Developers’ Perception on Patterns Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 20 Web energy patterns
  • 19. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 19 https://tqrg.github.io/energy-patterns/#/ RQ2: Developers’ Perception on Patterns
  • 20. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 20 https://tqrg.github.io/energy-patterns/#/ 1 sec 2 sec 4 sec RQ2: Developers’ Perception on Patterns
  • 21. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 21 https://tqrg.github.io/energy-patterns/#/ 1 sec 2 sec 4 sec RQ2: Developers’ Perception on Patterns Pattern
  • 22. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 22 https://tqrg.github.io/energy-patterns/#/ 1 sec 2 sec 4 sec RQ2: Developers’ Perception on Patterns Pattern 3 sec 3 sec 3 sec (Anti)pattern
  • 23. 23 RQ2: Developers’ Perception on Patterns familiarity on patterns
  • 24. 24 RQ2: Developers’ Perception on Patterns familiarity on patterns Concerns on antipatterns
  • 25. 25 RQ2: Developers’ Perception on Patterns familiarity on patterns Patterns in source code Concerns on antipatterns
  • 26. 26 RQ2: Developers’ Perception on Patterns familiarity on patterns Patterns in source code Other questions Concerns on antipatterns Case study with 6 web developers
  • 27. 27 Familiar with Energy Patterns 17% 17% 66% Never heard Strong understanding
  • 28. 28 Concerns about Anti-patterns 17% 33% 50% Open Only When Necessary 17% 17% 66% Dynamic Retry Delay Least concerned Extremely concerned
  • 29. 29 Energy Patterns in Source code
  • 30. 30 9 patterns found in code 11 anti patterns in code 4 not applicable to code Energy Patterns in Source code
  • 31. 31 RQ3: Impact of Energy Patterns Do they really impact? Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network
  • 32. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 32 RQ3: Impact of Energy Patterns 1 sec 2 sec 4 sec Pattern
  • 33. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 33 RQ3: Impact of Energy Patterns 3 sec 3 sec 3 sec (Anti)pattern 1 sec 2 sec 4 sec Pattern
  • 34. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 34 RQ3: Impact of Energy Patterns
  • 35. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 35 RQ3: Impact of Energy Patterns load images as scroll Pattern
  • 36. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 36 RQ3: Impact of Energy Patterns load images as scroll Pattern load all images (Anti)pattern
  • 37. Dark UI Colors Provide a dark UI colour theme to save battery. Dynamic Retry Delay Whenever an attempt to access a resource has failed, increase the interval of time waited before asking it Open Only When Necessary Open/start resources/services only when they are strictly necessary. Push Over Poll Use push notifications to receive updates from resources instead of actively querying resources (polling) Power Awareness Have a different behavior when device is connected/disconnected to a power station Wifi Over Cellular Delay or disable heavy data connections until the device is connected to a WiFi network 37 RQ3: Impact of Energy Patterns
  • 38. 38 https://tqrg.github.io/energy-patterns/#/ Takeaways 83% developers are not familiar with energy patterns. Developers are concerned about many anti patterns. They could find 16 (anti) patterns in source code. Energy impact of energy patterns vary.
  • 41. 41 (4) Inquire about patterns in source code (6) questions on demographic info welcome & instructions (1) Insights on energy pattern awareness (2) Introduction of energy (anti) patterns (5) Resource investment for energy patterns (3) Concerns for energy (anti) patterns Case study with 3 web developers from a energy-grid based company 3 developers from other companies RQ2: Developers’ Perception on Patterns
  • 42. 42 PowerLog Measure energy consumption User scenarios for energy(anti) patterns Start Browser and Demo websites Execute scenario on websites Compute results Start Pipeline Quit Browser 50 Iterations RQ3: Impact of Energy Patterns
  • 43. 43
  • 44. 44 Technologies disappear, software updates, increasing development costs due to technical debt, high-performance systems that need high power. Saputri and Lee, 2021, Integrated framework for incorporating sustainability design in software engineering life-cycle: An empirical study