Usage
  • 57 views
  • 85 downloads

Cost-effective Strategies to Develop Energy-Efficient Mobile Applications

  • Author / Creator
    Bangash, Abdul Ali
  • Smartphone users rely on mobile applications (apps) to perform various functionalities. However, if an app is developed inefficiently, such that it over-consumes energy, it could negatively impact user experience and lead to poor user reviews. To ensure that an app does not consume energy unnecessarily, app developers measure and optimize the energy consumption of their apps before releasing them to the end users.
    However, the current energy optimization and measurement techniques have certain limita- tions. API events consume 85% of the energy in an app [110], yet the current optimization tech- niques focus on developer-written instructions and system events only. Moreover, each API con- figuration may consume different amounts of energy, yet none of the current techniques guide developers on how a specific configuration may affect the energy consumption of their app. On the other hand, the current measurement techniques are cumbersome and require developers to generate test cases and execute them on sophisticated hardware. Hardware is expensive, test-case generation requires regular maintenance, and test-case execution costs time. Therefore, it is im- practical for the developers to execute test cases after each code modification, such as declaring a new variable or adding a new method call.
    As a solution to the aforementioned problems, this thesis explores a new direction of using static-analysis to optimize and estimate smartphone-app energy consumption, making four key contributions. The first contribution evaluates the practicality of current state-of-the-art techniques, such as search-based energy optimization and test-case execution-based energy measurement. The second contribution introduces an open-source hardware-based energy-measurement framework for iOS applications. The third contribution focuses on providing guidelines on how to config- ure and use an API in an energy-efficient manner, specifically the Core Location Framework API. The fourth and final contribution provides an energy-estimation model that helps identify energy- inefficient API usage in code without test case execution. The proposed energy-efficient guidelines reduce the energy consumption of real-world iOS apps by 26.91%. Additionally, the energy es- timation model can estimate energy consumption and provide information on energy-inefficient usage at an app’s version and method-level within 20% mean absolute error.
    The techniques presented in this thesis are helpful when developers do not have test cases readily available or hardware to run them on. Moreover, this thesis is particularly useful in an Integrated Development Environment (IDE) or a Continuous Integration/Continuous Deployment (CI/CD) pipeline. In such scenarios, developers cannot wait for test-case execution after each code modification and may require energy insights in real-time.

  • Subjects / Keywords
  • Graduation date
    Fall 2023
  • Type of Item
    Thesis
  • Degree
    Doctor of Philosophy
  • DOI
    https://doi.org/10.7939/r3-dpgs-9f50
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.