[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3412841.3442129acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
poster

Exploiting the progress of OO refactoring tools with Android code smells: RAndroid, a plugin for Android studio

Published: 22 April 2021 Publication History

Abstract

Mobile 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 implementation choices known as code smells. These smells have a negative effect on both device and application's performance, and must therefore be corrected to ensure the quality of mobile applications and the smoothness of their users' experience. This task requires the identification of the infected entities and their refactoring. Most existing refactoring approaches and techniques are focused on object-oriented applications' code smells while only a few of them are destined to Android specific code smells.
In this paper, we present a tool, named RAndroid, that handles automatic refactoring for four different Android specific code smells, and gives recommendations on how to manually refactor a fifth one. RAndroid is built as an Android Studio plugin adapting the logic of the well-known oriented-object refactoring tool "JDeodorant" [13] as it's first layer. We evaluated RAndroid on 52 real-world open-source Android applications, developed by both experts and beginners, covering 194 code smell instances.

References

[1]
F. Arcelli Fontana, Marco Mangiacavalli, Domenico Pochiero, and Marco Zanoni. 2015. On Experimenting Refactoring Tools to Remove Code Smells. In Scientific Workshop Proceedings of the XP2015. Association for Computing Machinery, New York, NY, USA, Article 7, 8 pages.
[2]
Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. 1999. Refactoring: Improving the Design of Existing Code. Addison Wesley.
[3]
Geoffrey Hecht. 2016. Detection and analysis of impact of code smells in mobile applications. Theses. Université Lille 1: Sciences et Technologies; Université du Québec à Montréal. https://tel.archives-ouvertes.fr/tel-01418158
[4]
Geoffrey Hecht, Benomar Omar, Romain Rouvoy, Naouel Moha, and Laurence Duchien. 2015. Tracking the Software Quality of Android Applications along their Evolution. In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015). Lincoln, Nebraska, United States, 12. https://hal.inria.fr/hal-01178734
[5]
Intellij-Team. 2020. Program Structure Interface (PSI)| IntelliJ Platform SDK DevGuide. Retrieved May 15,2020 from https://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/psi.html
[6]
JetBrains-Research. 2020. JetBrains-Research/IntelliJDeodorant: Based on tsantalis/JDeodorant| GitHub. Retrieved January 2,2020 from https://github.com/JetBrains-Research/IntelliJDeodorant
[7]
Umme Ayda Mannan, Iftekhar Ahmed, Rana Abdullah M. Almurshed, Danny Dig, and Carlos Jensen. 2016. Understanding Code Smells in Android Applications. In Proceedings of the International Conference on Mobile Software Engineering and Systems (MOBILESoft '16). Association for Computing Machinery, New York, NY, USA, 225--234.
[8]
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.
[9]
J. Reimann, M. Brylski, and U. Assmann. 2014. A Tool-Supported Quality Smell Catalogue For Android Developers. Softwaretechnik-Trends 34 (2014).
[10]
M. Sangeetha and P. Sengottuvelan. 2017. Systematic exhortation of code smell detection using JSmell for java source code. In 2017 International Conference on Inventive Systems and Control (ICISC). 1--5.
[11]
Habchi Sarra. 2019. Understanding Mobile-Specific Code Smells. Theses. Université de Lille. https://tel.archives-ouvertes.fr/tel-02414928
[12]
Statcounter. 2020. Mobile Operating System Market Share Worldwide. Retrieved July 7, 2020 from https://gs.statcounter.com/os-market-share/mobile/worldwide
[13]
N. Tsantalis, T. Chaikalis, and A. Chatzigeorgiou. 2018. Ten years of JDeodorant: Lessons learned from the hunt for smells. In 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). 4--14.

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)Android Source Code Smells: A Systematic Literature ReviewSoftware: Practice and Experience10.1002/spe.3401Online publication date: 27-Dec-2024
  • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023

Index Terms

  1. Exploiting the progress of OO refactoring tools with Android code smells: RAndroid, 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
    SAC '21: Proceedings of the 36th Annual ACM Symposium on Applied Computing
    March 2021
    2075 pages
    ISBN:9781450381048
    DOI:10.1145/3412841
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 April 2021

    Check for updates

    Author Tags

    1. Android
    2. Java
    3. code smells
    4. mobile application
    5. refactoring

    Qualifiers

    • Poster

    Conference

    SAC '21
    Sponsor:
    SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing
    March 22 - 26, 2021
    Virtual Event, Republic of Korea

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Upcoming Conference

    SAC '25
    The 40th ACM/SIGAPP Symposium on Applied Computing
    March 31 - April 4, 2025
    Catania , Italy

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 18 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)Android Source Code Smells: A Systematic Literature ReviewSoftware: Practice and Experience10.1002/spe.3401Online publication date: 27-Dec-2024
    • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023

    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