Catalog of energy patterns for mobile applications

@article{Cruz2019CatalogOE,
  title={Catalog of energy patterns for mobile applications},
  author={L. Cruz and Rui Abreu},
  journal={Empirical Software Engineering},
  year={2019},
  pages={1-27}
}
Software engineers make use of design patterns for reasons that range from performance to code comprehensibility. Several design patterns capturing the body of knowledge of best practices have been proposed in the past, namely creational, structural and behavioral patterns. However, with the advent of mobile devices, it becomes a necessity a catalog of design patterns for energy efficiency. In this work, we inspect commits, issues and pull requests of 1027 Android and 756 iOS apps to identify… Expand
Improving Energy Efficiency Through Automatic Refactoring
TLDR
This paper proposes a tool to improve the energy efficiency of Android applications using automatic refactoring — Leafactor, and features five energy code smells that tend to go unnoticed that can aid developers to ship energy efficient mobile applications. Expand
Energy Refactorings for Android in the Large and in the Wild
TLDR
A set of guidelines for developers to follow is prepared, aiding them on deciding how to refactor and consistently reduce energy, as well as statistical evidence that individual refactorings produce consistent gains, but with different impacts. Expand
Investigating types and survivability of performance bugs in mobile apps
TLDR
The largest study at date investigating performance bugs in mobile apps is presented and a taxonomy of the types of performance bugs affecting Android and iOS apps is defined, which aims to help researchers and apps developers in building performance-bugs detection tools and focusing their verification and validation activities on the most frequent types ofperformance bugs. Expand
Characterizing Energy Consumption of Third-Party API Libraries using API Utilization Profiles
Background: Third-party software libraries often serve as fundamental building blocks for developing applications. However, depending on such libraries for development raises a new concern, energyExpand
On the Energy Footprint of Mobile Testing Frameworks
TLDR
This paper evaluates eight popular mobile UI automation frameworks and finds that there are automation frameworks that increase energy consumption up to roughly 2200%. Expand
Mining API Interactions to Analyze Software Revisions for the Evolution of Energy Consumption
TLDR
An approach to examine the energy evolution of software revisions based on their API interactions, which shows initial results that API interactions serve as a flexible, lightweight, and effective way to compare software revisions regarding their energy evolution. Expand
Do Energy-Oriented Changes Hinder Maintainability?
TLDR
The impact of changes to improve energy efficiency on the maintainability of Android applications is studied to help mobile app developers to avoid common maintainability issues when improving the energy efficiency of their apps and adopt development processes to build maintainable and energy-efficient code. Expand
Energy efficient adaptation engines for android applications
TLDR
The adaptation engines proposed in this paper can decrease the energy consumption of the mobile devices based on user behavior and the overhead introduced by the adaptation engines is negligible in comparison with the benefits obtained by theadaptation. Expand
Tools and Techniques for Energy-Efficient Mobile Application Development
TLDR
This thesis compiles the current state-of-the-art methodologies used to measure the energy consumption of mobile apps, and collects code smells from other non-functional requirements and finds five performance-based code smells that effectively reduce energy consumption when fixed. Expand
How do open source app developers perceive API changes related to Android battery optimization? An empirical study
TLDR
This study's important finding is that developers often post issues related to delayed app notifications, inconsistent background location updates, and suspended background tasks, and so on, and it is found that library developers are showing a quick response to API changes compared with application developers. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 64 REFERENCES
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
TLDR
Whether or not automatic refactoring can aid developers ship energy efficient apps by leveraging a tool, Leafactor, with five energy code smells that tend to go unnoticed, which are detected and fixed in 45 apps. Expand
Automated Re-factoring of Android Apps to Enhance Energy-Efficiency
TLDR
A light-weight re-factoring technique that can assist in energy-aware app development that relies on a set of energy-efficiency guidelines that encodes the optimal usage ofEnergy-intensive (hardware) resources in an app. Expand
On the impact of code smells on the energy consumption of mobile applications
TLDR
A large-scale empirical study on the influence of 9 Android-specific code smells on the energy consumption of 60 Android apps and finds that refactoring these code smells reduces energy consumption in all of the situations. Expand
An investigation into energy-saving programming practices for Android smartphone app development
TLDR
A small-scale evaluation of commonly suggested energy-saving and performance-enhancing coding practices found that bundling network packets up to a certain size and using certain coding prac- tices for reading array length information, accessing class fields, and performing invocations all led to reduced energy consumption. Expand
A Study on the Energy Consumption of Android App Development Approaches
TLDR
The results of this study indicate that leveraging a combination of approaches may lead to non-negligible improvements in energy-efficiency and performance of Android apps. Expand
Software-based energy profiling of Android apps: Simple, efficient and reliable?
TLDR
A software-based tool named PETRA is proposed that is compared with the hardware-based MONSOON toolkit on 54 Android apps and the results show that PETRA performs similarly to MONSOon despite not using any sophisticated hardware components. Expand
Initial explorations on design pattern energy usage
  • C. Sahin, F. Cayci, +4 authors K. Winbladh
  • Computer Science
  • 2012 First International Workshop on Green and Sustainable Software (GREENS)
  • 2012
TLDR
It is shown how mappings between software design and power consumption profiles can provide software designers and developers with useful information about the power behavior of the software they are developing and help software engineers use this information in designing and developing more energy efficient solutions. Expand
An exploratory study on assessing the energy impact of logging on Android applications
TLDR
It is found that the rate of logging and the number of disk flushes are significant factors of energy consumption attributable to logging, and the relation between the generated OS level execution logs and mobile energy consumption is examined. Expand
Towards Verifying Android Apps for the Absence of No-Sleep Energy Bugs
TLDR
A tool is implemented that verifies the absence of this kind of energy bugs w.r.t. a set of Wake-Lock specific policies using a precise, inter-procedural data flow analysis framework to enforce them. Expand
Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices
TLDR
This paper proposes a roadmap towards developing a systematic diagnosing framework for debugging ebugs on smartphones and presents a taxonomy of the kinds of ebugs based on mining over 39K posts from 4 online mobile user forum and mobile OS bug repositories. Expand
...
1
2
3
4
5
...