[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ 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

Published: 12 September 2020 Publication 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.20
[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.18
[3]
Google. 2019. SparseArray. https://developer.android.com/reference/android/util/SparseArray
[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.3340749
[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.2884869
[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.030
[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.2318734
[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.32
[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.7884659
[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.004
[11]
Jan Reimann, Martin Brylski, and Uwe Assmann. 2014. A Tool-Supported Quality Smell Catalogue For Android Developers.

Cited By

View all
  • (2024)An Automated Performance Enhancement Approach for Mobile ApplicationsBulletin of Business and Economics (BBE)10.61506/01.0021113:1Online publication date: 29-Mar-2024
  • (2024)Message Chain Odor Caused by Excessive Coupling Based on Deep LearningArtificial Intelligence and Robotics Research10.12677/airr.2024.13409113:04(891-900)Online publication date: 2024
  • (2024)DynAMICS: A Tool-Based Method for the Specification and Dynamic Detection of Android Behavioral Code SmellsIEEE Transactions on Software Engineering10.1109/TSE.2024.336322350:4(765-784)Online publication date: Apr-2024
  • Show More Cited By

Index Terms

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

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 September 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Code smells
    2. Energy Consumption
    3. Refactoring

    Qualifiers

    • Short-paper
    • Research
    • Refereed limited

    Funding Sources

    • Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung

    Conference

    ICPC '20
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)115
    • Downloads (Last 6 weeks)33
    Reflects downloads up to 01 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)An Automated Performance Enhancement Approach for Mobile ApplicationsBulletin of Business and Economics (BBE)10.61506/01.0021113:1Online publication date: 29-Mar-2024
    • (2024)Message Chain Odor Caused by Excessive Coupling Based on Deep LearningArtificial Intelligence and Robotics Research10.12677/airr.2024.13409113:04(891-900)Online publication date: 2024
    • (2024)DynAMICS: A Tool-Based Method for the Specification and Dynamic Detection of Android Behavioral Code SmellsIEEE Transactions on Software Engineering10.1109/TSE.2024.336322350:4(765-784)Online publication date: Apr-2024
    • (2024)Android Source Code Smells: A Systematic Literature ReviewSoftware: Practice and Experience10.1002/spe.3401Online publication date: 27-Dec-2024
    • (2023)Anti-Patterns (Smells) in Temporal Specifications2023 IEEE/ACM 45th International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER)10.1109/ICSE-NIER58687.2023.00009(13-18)Online publication date: May-2023
    • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023
    • (2023)Learning migration models for supporting incremental language migrations of software applicationsInformation and Software Technology10.1016/j.infsof.2022.107082153:COnline publication date: 1-Jan-2023
    • (2022)E-APK: Energy Pattern Detection in Decompiled Android ApplicationsProceedings of the XXVI Brazilian Symposium on Programming Languages10.1145/3561320.3561328(50-58)Online publication date: 6-Oct-2022
    • (2022)ecoCode: a SonarQube Plugin to Remove Energy Smells from Android ProjectsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3559518(1-4)Online publication date: 10-Oct-2022
    • (2022)eTagger - An Energy Pattern Tagging Tool for GitHub Issues in Android Projects2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00064(484-488)Online publication date: Oct-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media