Using Automatic Refactoring to Improve Energy Efficiency of Android Apps

03/15/2018
by   Luis Cruz, et al.
0

The ever-growing popularity of mobile phones has brought additional challenges to the software development lifecycle. Mobile applications (apps, for short) ought to provide the same set of features as conventional software, with limited resources: such as, limited processing capabilities, storage, screen and, not less important, power source. Although energy efficiency is a valuable requirement, developers often lack knowledge of best practices. In this paper, we study whether or not automatic refactoring can aid developers ship energy efficient apps. We leverage a tool, Leafactor, with five energy code smells that tend to go unnoticed. We use Leafactor to analyze code smells in 140 free and open source apps. As a result, we detected and fixed code smells in 45 apps, from which 40 official repository.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/22/2019

Do Energy-oriented Changes Hinder Maintainability?

Energy efficiency is a crucial quality requirement for mobile applicatio...
research
08/16/2023

Techniques for Improving the Energy Efficiency of Mobile Apps: A Taxonomy and Systematic Literature Review

Building energy efficient software is an increasingly important task for...
research
02/07/2019

To the Attention of Mobile Software Developers: Guess What, Test your App!

Software testing is an important phase in the software development life-...
research
01/10/2019

Catalog of Energy Patterns for Mobile Applications

Software engineers make use of design patterns for reasons that range fr...
research
10/14/2020

Android Code Smells: From Introduction to Refactoring

Object-oriented code smells are well-known concepts in software engineer...
research
04/08/2022

eGEN: An Energy-saving Modeling Language and Code Generator for Location-sensing of Mobile Apps

The demand for reducing the energy consumption of location-based applica...
research
08/09/2018

Safe Stream-Based Programming with Refinement Types

In stream-based programming, data sources are abstracted as a stream of ...

Please sign up or login with your details

Forgot password? Click here to reset