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 条
  • [41] Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study
    Poy, Olivia
    Angeles Moraga, Ma
    Garcia, Felix
    Calero, Coral
    JOURNAL OF SYSTEMS AND SOFTWARE, 2025, 222
  • [42] Security Smells in Android
    Ghafari, Mohammad
    Gadient, Pascal
    Nierstrasz, Oscar
    2017 IEEE 17TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2017, : 121 - 130
  • [43] A Novel Tree-based Neural Network for Android Code Smells Detection
    Yu, Jing
    Mao, Chenguang
    Ye, Xiaojun
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 738 - 748
  • [44] The impact of the code smells of the presentation layer on the diffuseness of aesthetic defects of Android apps
    Mabrouka Chouchane
    Makram Soui
    Khaled Ghedira
    Automated Software Engineering, 2021, 28
  • [45] Sniffing Android Code Smells: An Association Rules Mining-based Approach
    Rubin, Jehan
    Henniche, Adel Nassim
    Moha, Naouel
    Bouguessa, Mohamed
    Bousbia, Nabila
    2019 IEEE/ACM 6TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2019), 2019, : 123 - 127
  • [46] The impact of the code smells of the presentation layer on the diffuseness of aesthetic defects of Android apps
    Chouchane, Mabrouka
    Soui, Makram
    Ghedira, Khaled
    AUTOMATED SOFTWARE ENGINEERING, 2021, 28 (02)
  • [47] An Empirical Investigation on the Effect of Code Smells on Resource Usage of Android Mobile Applications
    Alkandari, Mohammad A.
    Kelkawi, Ali
    Elish, Mahmoud O.
    IEEE ACCESS, 2021, 9 : 61853 - 61863
  • [48] ANN Modelling on Vulnerabilities Detection in Code Smells-Associated Android Applications
    Gupta, Aakanshi
    Sharma, Deepanshu
    Phulli, Kritika
    FOUNDATIONS OF COMPUTING AND DECISION SCIENCES, 2022, 47 (01) : 3 - 26
  • [49] Behavior-based test smells refactoring Toward an automatic approach to refactoring Eager Test and Lazy Test smells
    Pizzini, Adriano
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 261 - 263
  • [50] Refactoring Test Smells: A Perspective from Open-Source Developers
    Soares, Elvys
    Ribeiro, Marcio
    Amaral, Guilherme
    Gheyi, Rohit
    Fernandes, Leo
    Garcia, Alessandro
    Fonseca, Baldoino
    Santos, Andre
    PROCEEDINGS OF THE 5TH BRAZILIAN SYMPOSIUM ON SYSTEMATIC AND AUTOMATED SOFTWARE TESTING, SAST 2020, 2020, : 50 - 59