Android code smells: From introduction to refactoring

被引:14
|
作者
Habchi, Sarra [1 ]
Moha, Naouel [2 ]
Rouvoy, Romain [3 ]
机构
[1] Univ Luxembourg, Luxembourg, Luxembourg
[2] Ecole Technol Super, Montreal, PQ, Canada
[3] Univ Lille, IUF, INRIA, Lille, France
关键词
Android (operating system);
D O I
10.1016/j.jss.2021.110964
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Object-oriented code smells are well-known concepts in software engineering that refer to bad design and development practices commonly observed in software systems. With the emergence of mobile apps, new classes of code smells have been identified by the research community as mobile-specific code smells. These code smells are presented as symptoms of important performance issues or bottlenecks. Despite the multiple empirical studies about these new code smells, their diffuseness and evolution along change histories remains unclear. We present in this article a large-scale empirical study that inspects the introduction, evolution, and removal of Android code smells. This study relies on data extracted from 324 apps, a manual analysis of 561 smell-removing commits, and discussions with 25 Android developers. Our findings reveal that the high diffuseness of mobile-specific code smells is not a result of releasing pressure. We also found that the removal of these code smells is generally a side effect of maintenance activities as developers do not refactor smell instances even when they are aware of them. (C) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页数:16
相关论文
共 50 条
  • [31] Analyzing Test Smells Refactoring from a Developers Perspective
    Damasceno, Humberto
    Bezerra, Carla
    Coutinho, Emanuel
    Machado, Ivan
    PROCEEDINGS OF THE 21TH BRAZILIAN SYMPOSIUM ON SOFTWARE QUALITY, SBOS 2022, 2022,
  • [32] Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability
    Meananeatra, Panita
    Rongviriyapanish, Songsakdi
    Apiwattanapong, Taweesup
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2018, E101D (07): : 1766 - 1779
  • [33] Lightweight Detection of Android-Specific Code Smells: The aDoctor Project
    Palomba, Fabio
    Di Nucci, Dario
    Panichella, Annibale
    Zaidman, Andy
    De Lucia, Andrea
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 487 - 491
  • [34] Droidlens: Robust and Fine-Grained Detection for Android Code Smells
    Mao, Chenguang
    Wang, Hao
    Han, Gaojie
    Zhang, Xiaofang
    2020 INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING (TASE 2020), 2020, : 161 - 168
  • [35] Code smells analysis for android applications and a solution for less battery consumption
    Gupta, Aakanshi
    Suri, Bharti
    Sharma, Deepanshu
    Misra, Sanjay
    Fernandez-Sanz, Luis
    SCIENTIFIC REPORTS, 2024, 14 (01):
  • [36] An Empirical Study on Code Smells Co-occurrences in Android Applications
    Hamdi, Oumayma
    Ouni, Ali
    AlOmar, Eman Abdullah
    Mkaouer, Mohamed Wiem
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOPS (ASEW 2021), 2021, : 26 - 33
  • [37] Refactoring Android Java']Java Code for On-Demand Computation Offloading
    Zhang, Ying
    Huang, Gang
    Liu, Xuanzhe
    Zhang, Wei
    Mei, Hong
    Yang, Shunxiang
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 233 - 247
  • [38] Evaluating the impact of code smell refactoring on the energy consumption of Android applications
    Anwar, Hina
    Pfahl, Dietmar
    Srirama, Satish N.
    2019 45TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2019), 2019, : 82 - 86
  • [39] Analyzing the Impact of Refactoring on Bad Smells
    Tavares, Cleiton
    Bigonha, Mariza
    Figueiredo, Eduardo
    34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 97 - 101
  • [40] Are architectural smells independent from code smells? An empirical study
    Fontana, Francesca Arcelli
    Lenarduzzi, Valentina
    Roveda, Riccardo
    Taibi, Davide
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 154 : 139 - 156