The document discusses future directions for mobile software with a focus on energy and performance. Some key points:
- Energy and performance are not synonymous and energy measurements are needed to understand energy efficiency.
- Energy bugs and hotspots can be detected by analyzing energy consumption and hardware utilization traces. Refactoring code based on energy guidelines can help fix inefficiencies.
- User reviews and field failures related to battery drain can provide insights and be used to generate tests to localize defects.
- Emerging areas like drone disaster management may benefit from distributed energy management across tasks based on priority and a virtual marketplace model.
Keynote in KLEE workshop on Symbolic Execution 2018
Systematic greybox fuzzing inspired by ideas from symbolic execution, work at NUS
Covers new usage of symbolic execution in automated program repair, work at NUS
Keynote given at the Asia Pacific Software Engineering Conference (APSEC), December 2020, on Automated Program Repair technologies and their applications.
Introductory talk given to PhD students starting research at NUS PhD open day 2020. Covers research in Computer Science, and some experience in research on trustworthy software systems.
Keynote in KLEE workshop on Symbolic Execution 2018
Systematic greybox fuzzing inspired by ideas from symbolic execution, work at NUS
Covers new usage of symbolic execution in automated program repair, work at NUS
Keynote given at the Asia Pacific Software Engineering Conference (APSEC), December 2020, on Automated Program Repair technologies and their applications.
Introductory talk given to PhD students starting research at NUS PhD open day 2020. Covers research in Computer Science, and some experience in research on trustworthy software systems.
Automated Program Repair, Distinguished lecture at MPI-SWSAbhik Roychoudhury
MPI-SWS Distinguished Lecture 2019. The talk focuses on fuzzing, symbolic execution as background technologies and compares their relative power. Then the use of such technologies for automated program repair is investigated.
LSRepair: Live Search of Fix Ingredients for Automated Program RepairDongsun Kim
Automated program repair (APR) has extensively been developed by leveraging search-based techniques, in which fix ingredients are explored and identified in different granular- ities from a specific search space. State-of-the approaches often find fix ingredients by using mutation operators or leveraging manually-crafted templates. We argue that the fix ingredients can be searched in an online mode, leveraging code search techniques to find potentially-fixed versions of buggy code fragments from which repair actions can be extracted. In this study, we present an APR tool, LSRepair, that automatically explores code repositories to search for fix ingredients at the method-level granularity with three strategies of similar code search. Our preliminary evaluation shows that code search can drive a faster fix process (some bugs are fixed in a few seconds). LSRepair helps repair 19 bugs from the Defects4J benchmark successfully. We expect our approach to open new directions for fixing multiple-lines bugs.
Developers often wonder how to implement a certain functionality
(e.g., how to parse XML files) using APIs. Obtaining
an API usage sequence based on an API-related natural
language query is very helpful in this regard. Given a query,
existing approaches utilize information retrieval models to
search for matching API sequences. These approaches treat
queries and APIs as bags-of-words and lack a deep understanding
of the semantics of the query.
We propose DeepAPI, a deep learning based approach to
generate API usage sequences for a given natural language
query. Instead of a bag-of-words assumption, it learns the
sequence of words in a query and the sequence of associated
APIs. DeepAPI adapts a neural language model named
RNN Encoder-Decoder. It encodes a word sequence (user
query) into a fixed-length context vector, and generates an
API sequence based on the context vector. We also augment
the RNN Encoder-Decoder by considering the importance
of individual APIs. We empirically evaluate our approach
with more than 7 million annotated code snippets collected
from GitHub. The results show that our approach generates
largely accurate API sequences and outperforms the related
approaches.
Static analysis works for mission-critical systems, why not yours? Rogue Wave Software
Take a deep dive into the world of static code analysis (SCA) by immersing yourself into different analysis techniques, examples of the problems they find, and learning how SCA fits into various types of environments, from the developer desktop to the QA team. The goal is to provide a solid foundation for you to make the best decision for testing technology and process selection, including: Types of defects found by SCA;
Typical myths and barriers to adoption; and How SCA aligns to different testing maturity levels.
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk Andrii Vozniuk
My presentation for the Advanced Topics in Software Systems course at EPFL by George Candea
It is based on the following two papers:
1) Higher Order Test Generation, P. Godefroid, PLDI 2011
2) Symbolic Execution with Mixed Concrete-Symbolic Solving, C. Păsăreanu, N. Rungta, W. Visser, ISSTA 2011
These are the slides that I presented at the ENR FutureTech Event in Atlanta. The main point of the presentation was to present the concept of combing apps through cloud or API connections. Recipe number one is to connect FotoIn Mobile to Egnyte to SmartUSe. Recipe number two is connecting Assemble Systems to Kahua.
Automated Program Repair, Distinguished lecture at MPI-SWSAbhik Roychoudhury
MPI-SWS Distinguished Lecture 2019. The talk focuses on fuzzing, symbolic execution as background technologies and compares their relative power. Then the use of such technologies for automated program repair is investigated.
LSRepair: Live Search of Fix Ingredients for Automated Program RepairDongsun Kim
Automated program repair (APR) has extensively been developed by leveraging search-based techniques, in which fix ingredients are explored and identified in different granular- ities from a specific search space. State-of-the approaches often find fix ingredients by using mutation operators or leveraging manually-crafted templates. We argue that the fix ingredients can be searched in an online mode, leveraging code search techniques to find potentially-fixed versions of buggy code fragments from which repair actions can be extracted. In this study, we present an APR tool, LSRepair, that automatically explores code repositories to search for fix ingredients at the method-level granularity with three strategies of similar code search. Our preliminary evaluation shows that code search can drive a faster fix process (some bugs are fixed in a few seconds). LSRepair helps repair 19 bugs from the Defects4J benchmark successfully. We expect our approach to open new directions for fixing multiple-lines bugs.
Developers often wonder how to implement a certain functionality
(e.g., how to parse XML files) using APIs. Obtaining
an API usage sequence based on an API-related natural
language query is very helpful in this regard. Given a query,
existing approaches utilize information retrieval models to
search for matching API sequences. These approaches treat
queries and APIs as bags-of-words and lack a deep understanding
of the semantics of the query.
We propose DeepAPI, a deep learning based approach to
generate API usage sequences for a given natural language
query. Instead of a bag-of-words assumption, it learns the
sequence of words in a query and the sequence of associated
APIs. DeepAPI adapts a neural language model named
RNN Encoder-Decoder. It encodes a word sequence (user
query) into a fixed-length context vector, and generates an
API sequence based on the context vector. We also augment
the RNN Encoder-Decoder by considering the importance
of individual APIs. We empirically evaluate our approach
with more than 7 million annotated code snippets collected
from GitHub. The results show that our approach generates
largely accurate API sequences and outperforms the related
approaches.
Static analysis works for mission-critical systems, why not yours? Rogue Wave Software
Take a deep dive into the world of static code analysis (SCA) by immersing yourself into different analysis techniques, examples of the problems they find, and learning how SCA fits into various types of environments, from the developer desktop to the QA team. The goal is to provide a solid foundation for you to make the best decision for testing technology and process selection, including: Types of defects found by SCA;
Typical myths and barriers to adoption; and How SCA aligns to different testing maturity levels.
Symbolic Reasoning and Concrete Execution - Andrii Vozniuk Andrii Vozniuk
My presentation for the Advanced Topics in Software Systems course at EPFL by George Candea
It is based on the following two papers:
1) Higher Order Test Generation, P. Godefroid, PLDI 2011
2) Symbolic Execution with Mixed Concrete-Symbolic Solving, C. Păsăreanu, N. Rungta, W. Visser, ISSTA 2011
These are the slides that I presented at the ENR FutureTech Event in Atlanta. The main point of the presentation was to present the concept of combing apps through cloud or API connections. Recipe number one is to connect FotoIn Mobile to Egnyte to SmartUSe. Recipe number two is connecting Assemble Systems to Kahua.
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...Olivier Le Goaër
While the energy efficiency of mobile apps is receiving considerable attention in recent years, Android developers have little tools to assess the energy footprint of their applications. In this paper, we introduce PowDroid, our tool to estimate the energy consumption of Android application. It uses system-wide metrics and does not require access to applications' source code. We run PowDroid on a use-case scenario comparing the energy footprint of applications in different categories.
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
Experitest & Infosys held a co-webinar, discussing Continuous Integration & Mobile Performance Test Strategies, Tools and Certification services that can guarantee a quality app for the end user.
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
In mobile app spaces, with all these evolving technologies and competitors, 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 plays an important role in terms of delivering a seamless end-user experience. Improving performance has become the top priority for all global mobile app companies as it directly impacts user experience, retention rates, conversions, and ultimately revenue. Even if we deliver a brilliant feature with performance issues, people will eventually stop using those apps. As high-performing apps are user favourites, we testers should also adopt performance-centric strategies while testing mobile apps.
In this talk, you will learn about:
Basic types of mobile apps.
An overview of important performance metrics to consider.
Basics and importance of mobile app performance testing with trends and parameters.
Factors to consider while evaluating an app’s performance & ideas to prepare a performance-oriented testing strategy.
Best practices and tools to consider for providing valuable insights to stakeholders.
Quick glance at the rise of 5G and its impact in the mobile app space.
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...Bitbar
We co-hosted a webinar with Neotys to shed some lights on
- How to overcome the challenges in mobile app performance and functional testing
- How to gain granular and actionable insights to measure and improve your app user experience
- Best practices to get the mobile readiness for 2017 Holiday Shopping Season
- A brief demo of the integration between Neoload and Bitbar Testing
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...ecijjournal
Some of the literature survey have been made on the small scale transaction, only few of the transactions
are build on Enterprise Resource Planning and till dated there is not such a methodology or an approach
implemented on the small scale transaction. Several implementations are mainly focus on the large scale
transaction and hence they are handles huge business volume. This paper proposed an approach for reengineering
a small scale transaction by implementing GQM approach. Even though, web technology is most popular and reliable but these paper prove that re-engineering of small scale transaction on standalone application will be effective and reliable than web technology.
EFFICIENT AND RELIABLE PERFORMANCE OF A GOAL QUESTION METRICS APPROACH FOR RE...ecij
Some of the literature survey have been made on the small scale transaction, only few of the transactions are build on Enterprise Resource Planning and till dated there is not such a methodology or an approach implemented on the small scale transaction. Several implementations are mainly focus on the large scale transaction and hence they are handles huge business volume. This paper proposed an approach for reengineering a small scale transaction by implementing GQM approach. Even though, web technology is most popular and reliable but these paper prove that re-engineering of small scale transaction on standalone application will be effective and reliable than web technology.
Auto-completing Bug Reports for Android ApplicationsKevin Moran
The modern software development landscape has seen a shift in focus toward mobile applications as tablets and smartphones near ubiquitous adoption. Due to this trend, the complexity of these “apps” has been increasing, making development and maintenance challenging. Additionally, current bug tracking systems are not able to effectively support construction of reports with actionable information that directly lead to a bug’s resolution. To address the need for an improved reporting system, we introduce a novel solution, called FUSION, that helps users auto-complete reproduction steps in bug reports for mobile apps. FUSION links user-provided information to program artifacts extracted through static and dynamic analysis performed before testing or release. The approach that FUSION employs is generalizable to other current mobile software platforms, and constitutes a new method by which off-device bug reporting can be conducted for mobile software projects. In a study involving 28 participants we applied FUSION to support the maintenance tasks of reporting and reproducing defects from 15 real-world bugs found in 14 open source Android apps while qualitatively and qualitatively measuring the user experience of the system. Our results demonstrate that FUSION both effectively facilitates reporting and allows for more reliable reproduction of bugs from reports compared to traditional issue tracking systems by presenting more detailed contextual app information.
Cloud-Based, Automated Mobile App Testing for the EnterpriseTechWell
Mobile applications are now a required component of enterprise operations, with both consumers and workers relying on mobile technologies for communications and productivity. To ensure a functional, secure, and worthwhile mobile experience, enterprises must stay abreast of growing complexity in mobile devices, applications, and platforms while remaining responsive to unforgiving user expectations for speed and service. To meet this challenge, many firms are turning to cloud-based automated testing, which reduces the complexity and cost of manual, on-premise testing and offers extraordinary flexibility to accommodate a variety of scenarios. Joe Schulz outlines the reasons why cloud-based application testing is beneficial, discusses the role it plays in supporting testing automation, and explores the best practices for adopting this solution. Get a practical grounding in cloud-based automated mobile testing. Learn how this approach helps companies speed time to market, optimize security and performance, increase user satisfaction, and contain costs.
Mobile Performance Testing Approaches and ChallengesNous Infosystems
This whitepaper speaks about how Mobile Apps play a key role in daily business functions and the changing trends of consumer web-usage along with a brief summary of mobile application performance drivers...
Keynote at Code Generation 2014: The business cases of modeling and generatorsJuha-Pekka Tolvanen
There is no business case for modelling and generators – only for a specific language and generator in a specific situation. The right language in the right situation can improve productivity by an order of magnitude; the wrong language will reduce it. So what makes a language “right”?
In this talk we look what kinds of modelling languages and generators tend to be more beneficial than others –from the early days of modelling right up to the latest research. Getting more out of the models than their original creation required, raising the level of abstraction and addressing a specific need seem to be common characteristics of successful modelling and code generation approaches.
To evaluate the full business case we also need to look at the costs and benefits of creating languages, generators and tools. By applying the above principles to language creation itself, we can improve the quality of the resulting modelling language, whilst lowering the time and effort needed to create and maintain it. Other features important to the language developer include enabling tools to support language evolution, and improving tool scalability to tackle larger systems and teams.
Research Inventy : International Journal of Engineering and Scienceinventy
Research Inventy : International Journal of Engineering and Science is published by the group of young academic and industrial researchers with 12 Issues per year. It is an online as well as print version open access journal that provides rapid publication (monthly) of articles in all areas of the subject such as: civil, mechanical, chemical, electronic and computer engineering as well as production and information technology. The Journal welcomes the submission of manuscripts that meet the general criteria of significance and scientific excellence. Papers will be published by rapid process within 20 days after acceptance and peer review process takes only 7 days. All articles published in Research Inventy will be peer-reviewed.
Greybox fuzzing methods to find security vulnerabilities in software systems are discussed in this talk. We discuss how fuzz testing methods can be inspired by ideas from symbolic execution and model checking to go beyond conventional fuzzing methods, without sacrificing the efficiency of fuzzing.
Overview of Fuzz Testing and the latest advances in the field are discussed. Fuzz testing is a popular method to find security vulnerabilities in software systems.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
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
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
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
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
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
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.
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 GBC_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 GBC_rcv ))
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
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