Mining API Interactions to Analyze Software Revisions for the Evolution of Energy Consumption

  title={Mining API Interactions to Analyze Software Revisions for the Evolution of Energy Consumption},
  author={Andreas Schuler and Gabriele Anderst-Kotsis},
  journal={2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)},
With the widespread use and adoption of mobile platforms like Android a new software quality concern has emerged – energy consumption. However, developing energy-efficient software and applications requires knowledge and like-wise proper tooling to support mobile developers. To this aim, we present an approach to examine the energy evolution of software revisions based on their API interactions. The approach stems from the assumption that the utilization of an API has direct implications on the… 
1 Citations

Figures from this paper

MANAi - An IntelliJ Plugin for Software Energy Consumption Profiling
The MANAi plugin is presented, which helps to make energy consumption of unit test methods explicit by providing visual feedback as a plugin to the Integrated Development Environment (IDE) IntelliJ.


Examining the energy impact of sorting algorithms on android: an empirical study
This empirical study examines the energy consumption of 12 sorting algorithms and the resulting energy impact when used with different data types and proposes a methodology to obtain energy readings and relate them to application execution traces.
The power of system call traces: predicting the software energy consumption impact of changes
This work relates software change to energy consumption by tracing the changes in an application's pattern of system call invocations and finds that significant changes to system call profiles often induce significant changes in energy consumption.
GreenAdvisor: A tool for analyzing the impact of software evolution on energy consumption
This paper evaluates and describes GreenAdvisor, a first of its kind tool that systematically records and analyzes an application's system calls to predict whether the energy-consumption profile of an application has changed, and constructed an improved prediction model to forecast the direction of the change.
Mining energy traces to aid in software development: an empirical case study
This work presents several approaches for describing power consumption and detecting anomalous energy patterns and potential energy defects for the Windows Phone platform and shows prediction models based on usage of individual modules that can estimate the overall energy consumption with high accuracy.
GreenMiner: a hardware based mining software repositories software energy consumption framework
The Green Miner physically measures the energy consumption of mobile devices and automates the testing of applications, and the reporting of measurements back to developers and researchers.
An exploratory study on assessing the energy impact of logging on Android applications
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.
Green mining: A methodology of relating software change to power consumption
  • Abram Hindle
  • Computer Science
    2012 9th IEEE Working Conference on Mining Software Repositories (MSR)
  • 2012
It is demonstrated that software change can effect power consumption using the Firefox web-browser and the Azureus/Vuze BitTorrent client and there is evidence of a potential relationship between some software metrics and power consumption.
Catalog of energy patterns for mobile applications
This analysis yielded a catalog, available online, with 22 design patterns related to improving the energy efficiency of mobile apps, and it is argued that this catalog might be of relevance to other domains such as Cyber-Physical Systems and Internet of Things.
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, energy
Recommending energy-efficient Java collections
This work proposes an approach for energy-aware development that combines the construction of application-independent energy profiles of Java collections and static analysis to produce an estimate of in which ways and how intensively a system employs these collections.