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 条
  • [1] Refactoring Android Source Code Smells From Android Applications
    Fawad, Muhammad
    Rasool, Ghulam
    Riaz, Muhammad Bilal
    IEEE ACCESS, 2025, 13 : 14122 - 14150
  • [2] Exploiting the Progress of OO Refactoring Tools with Android Code Smells
    Gattal, Abderraouf
    Hammache, Abir
    Bousbia, Nabila
    Henniche, Adel Nassim
    36TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2021, 2021, : 1580 - 1583
  • [3] An approach to prioritize code smells for refactoring
    Santiago A. Vidal
    Claudia Marcos
    J. Andrés Díaz-Pace
    Automated Software Engineering, 2016, 23 : 501 - 532
  • [4] An approach to prioritize code smells for refactoring
    Vidal, Santiago A.
    Marcos, Claudia
    Andres Diaz-Pace, J.
    AUTOMATED SOFTWARE ENGINEERING, 2016, 23 (03) : 501 - 532
  • [5] Refactoring Android-specific Energy Smells: A Plugin for Android Studio
    Iannone, Emanuele
    Pecorelli, Fabiano
    Di Nucci, Dario
    Palomba, Fabio
    De Lucia, Andrea
    2020 IEEE/ACM 28TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC, 2020, : 451 - 455
  • [6] Detecting and refactoring code smells in spreadsheet formulas
    Hermans, Felienne
    Pinzger, Martin
    van Deursen, Arie
    EMPIRICAL SOFTWARE ENGINEERING, 2015, 20 (02) : 549 - 575
  • [7] Revisiting the Relationship Between Code Smells and Refactoring
    Yoshida, Norihiro
    Saika, Tsubasa
    Choi, Eunjong
    Ouni, Ali
    Inoue, Katsuro
    2016 IEEE 24TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2016,
  • [8] Detecting and refactoring code smells in spreadsheet formulas
    Felienne Hermans
    Martin Pinzger
    Arie van Deursen
    Empirical Software Engineering, 2015, 20 : 549 - 575
  • [9] Security code smells in Android ICC
    Pascal Gadient
    Mohammad Ghafari
    Patrick Frischknecht
    Oscar Nierstrasz
    Empirical Software Engineering, 2019, 24 : 3046 - 3076
  • [10] Security code smells in Android ICC
    Gadient, Pascal
    Ghafari, Mohammad
    Frischknecht, Patrick
    Nierstrasz, Oscar
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (05) : 3046 - 3076