skip to main content
10.1145/3387904.3389298acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Refactoring Android-specific Energy Smells: A Plugin for Android Studio

Authors Info & Claims
Published:12 September 2020Publication History

ABSTRACT

Mobile applications are major means to perform daily actions, including social and emergency connectivity. However, their usability is threatened by energy consumption that may be impacted by code smells i.e., symptoms of bad implementation and design practices. In particular, researchers derived a set of mobile-specific code smells resulting in increased energy consumption of mobile apps and removing such smells through refactoring can mitigate the problem. In this paper, we extend and revise aDoctor, a tool that we previously implemented to identify energy-related smells. On the one hand, we present and implement automated refactoring solutions to those smells. On the other hand, we make the tool completely open-source and available in Android Studio as a plugin published in the official store. The video showing the tool in action is available at: https://www.youtube.com/watch?v=1c2EhVXiKis

References

  1. Gabriele Bavota, Bernardino De Carluccio, Andrea De Lucia, Massimiliano Di Penta, Rocco Oliveto, and Orazio Strollo. 2012. When Does a Refactoring Induce Bugs? An Empirical Study. In Proceedings of the 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation (SCAM '12). IEEE Computer Society, Washington, DC, USA, 104--113. https://doi.org/10.1109/SCAM.2012.20Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Dario Di Nucci, Fabio Palomba, Antonio Prota, Annibale Panichella, Andy Zaidman, and Andrea Lucia. 2017. PETrA: A Software-Based Tool for Estimating the Energy Profile of Android Applications. https://doi.org/10.1109/ICSE-C.2017.18Google ScholarGoogle Scholar
  3. Google. 2019. SparseArray. https://developer.android.com/reference/android/util/SparseArrayGoogle ScholarGoogle Scholar
  4. Sarra Habchi, Romain Rouvoy, and Naouel Moha. 2019. On the Survival of Android Code Smells in the Wild. In Proceedings of the 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft '19). IEEE Press, Piscataway, NJ, USA, 87--98. http://dl.acm.org/citation.cfm?id=3340730.3340749Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Samir Hasan, Zachary King, Hafiz Suliman Munawar, Mohammed Sayagh, Bram Adams, and Abram Hindle. 2016. Energy profiles of Java collections classes. 225--236. https://doi.org/10.1145/2884781.2884869Google ScholarGoogle Scholar
  6. G. Hecht, N. Moha, and R. Rouvoy. 2016. An Empirical Study of the Performance Impacts of Android Code Smells. In 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft). 59--69. https://doi.org/10.1109/MobileSoft.2016.030Google ScholarGoogle Scholar
  7. M. Kim, T. Zimmermann, and N. Nagappan. 2014. An Empirical Study of RefactoringChallenges and Benefits at Microsoft. IEEE Transactions on Software Engineering 40, 7 (July 2014), 633--649. https://doi.org/10.1109/TSE.2014.2318734Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fabio Palomba, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, and Andrea Lucia. 2014. Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells. Proceedings - 30th International Conference on Software Maintenance and Evolution, ICSME 2014 (12 2014), 101--110. https://doi.org/10.1109/ICSME.2014.32Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Palomba, D. Di Nucci, A. Panichella, A. Zaidman, and A. De Lucia. 2017. Lightweight detection of Android-specific code smells: The aDoctor project. In 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER). 487--491. https://doi.org/10.1109/SANER.2017.7884659Google ScholarGoogle ScholarCross RefCross Ref
  10. Fabio Palomba, Dario Di Nucci, Annibale Panichella, Andy Zaidman, and Andrea Lucia. 2018. On the Impact of Code Smells on the Energy Consumption of Mobile Applications. Information and Software Technology (09 2018). https://doi.org/10.1016/j.infsof.2018.08.004Google ScholarGoogle Scholar
  11. Jan Reimann, Martin Brylski, and Uwe Assmann. 2014. A Tool-Supported Quality Smell Catalogue For Android Developers.Google ScholarGoogle Scholar

Index Terms

  1. Refactoring Android-specific Energy Smells: A Plugin for Android Studio

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ICPC '20: Proceedings of the 28th International Conference on Program Comprehension
      July 2020
      481 pages
      ISBN:9781450379588
      DOI:10.1145/3387904

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 12 September 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper
      • Research
      • Refereed limited

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader