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
- 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 ScholarDigital Library
- 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 Scholar
- Google. 2019. SparseArray. https://developer.android.com/reference/android/util/SparseArrayGoogle Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Jan Reimann, Martin Brylski, and Uwe Assmann. 2014. A Tool-Supported Quality Smell Catalogue For Android Developers.Google Scholar
Index Terms
- Refactoring Android-specific Energy Smells: A Plugin for Android Studio
Recommendations
Exploiting the progress of OO refactoring tools with Android code smells: RAndroid, a plugin for Android studio
SAC '21: Proceedings of the 36th Annual ACM Symposium on Applied ComputingMobile applications market is facing a stronger demand continuously, due to the growing popularity of mobile phones. A demand that forces developers to rush the implementation process and shorten the conception phase, leading to poor conception and ...
An interactive ambient visualization for code smells
SOFTVIS '10: Proceedings of the 5th international symposium on Software visualizationCode smells are characteristics of software that indicate that code may have a design problem. Code smells have been proposed as a way for programmers to recognize the need for restructuring their software. Because code smells can go unnoticed while ...
Prioritising Refactoring Using Code Bad Smells
ICSTW '11: Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation WorkshopsWe investigated the relationship between six of Fowler et al.'s Code Bad Smells (Duplicated Code, Data Clumps, Switch Statements, Speculative Generality, Message Chains, and Middle Man) and software faults. In this paper we discuss how our results can ...
Comments