2 research outputs found
Catalog of Energy Patterns for Mobile Applications
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 common practices when improving energy
efficiency. This analysis yielded a catalog, available online, with 22 design
patterns related to improving the energy efficiency of mobile apps. We argue
that this catalog might be of relevance to other domains such as Cyber-Physical
Systems and Internet of Things. As a side contribution, an analysis of the
differences between Android and iOS devices shows that the Android community is
more energy-aware.Comment: Journal of Empirical Software Engineerin
Small Changes, Big Impacts: Leveraging Diversity to Improve Energy Efficiency
In the last few years, a growing body of research has proposed methods,
techniques, and tools to support developers in the construction of software
that consumes less energy. These solutions leverage diverse approaches such as
version history mining, analytical models, identifying energy-efficient color
schemes, and optimizing the packaging of HTTP requests.
In this chapter, we present a complementary approach. We advocate that
developers should leverage software diversity to make software systems more
energy-efficient. Our main insight is that non-specialists can build software
that consumes less energy by alternating at development time between readily
available, diversely-designed pieces of software implemented by third-parties.
These pieces of software can vary in nature, granularity, and quality
attributes. Examples include data structures and constructs for thread
management and synchronization.Comment: 31 pages, 7 figure