Anti-patterns and the energy efficiency of Android applications
Rodrigo Morales, Ruben Saborido, Foutse Khomh, Francisco Chicano,, Giuliano Antoniol

TL;DR
This study investigates how eight types of anti-patterns in Android apps affect energy efficiency, revealing that refactoring anti-patterns can either improve or worsen energy consumption, guiding developers in sustainable app maintenance.
Contribution
The paper introduces a novel analysis of mobile app-specific anti-patterns and their direct impact on energy efficiency, filling a gap in existing research.
Findings
Anti-patterns significantly affect energy consumption in Android apps.
Refactoring anti-patterns can have positive or negative effects on energy efficiency.
Developers should consider energy impact when refactoring anti-patterns.
Abstract
The boom in mobile apps has changed the traditional landscape of software development by introducing new challenges due to the limited resources of mobile devices, e.g., memory, CPU, network bandwidth and battery. The energy consumption of mobile apps is nowadays a hot topic and researchers are actively investigating the role of coding practices on energy efficiency. Recent studies suggest that design quality can conflict with energy efficiency. Therefore, it is important to take into account energy efficiency when evolving the design of a mobile app. The research community has proposed approaches to detect and remove anti-patterns (i.e., poor solutions to design and implementation problems) in software systems but, to the best of our knowledge, none of these approaches have included anti-patterns that are specific to mobile apps and--or considered the energy efficiency of apps. In this…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGreen IT and Sustainability · Caching and Content Delivery · Digital Platforms and Economics
