Understanding Code Smells in Android Applications

被引:0
|
作者
Mannan, Umme Ayda [1 ]
Ahmed, Iftekhar [1 ]
Almurshed, Rana Abdullah M. [1 ]
Dig, Danny [1 ]
Jensen, Carlos [1 ]
机构
[1] Oregon State Univ, Corvallis, OR 97331 USA
关键词
D O I
10.1145/2897073.2897094
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Code smells are associated with poor coding practices that cause long-term maintainability problems and mask bugs. Despite mobile being a fast growing software sector, code smells in mobile applications have been understudied. We do not know how code smells in mobile applications compare to those in desktop applications, and how code smells are affecting the design of mobile applications. Without such knowledge, application developers, tool builders, and researchers cannot improve the practice and state of the art of mobile development. We first reviewed the literature on code smells in Android applications and found that there is a significant gap between the most studied code smells in literature and most frequently occurring code smells in real world applications. Inspired by this finding, we conducted a large scale empirical study to compare the type, density, and distribution of code smells in mobile vs. desktop applications. We analyze an open-source corpus of 500 Android applications (total of 6.7M LOC) and 750 desktop Java applications (total of 16M LOC), and compare 14,553 instances of code smells in Android applications to 117,557 instances of code smells in desktop applications. We find that, despite mobile applications having different structure and workflow than desktop applications, the variety and density of code smells is similar. However, the distribution of code smells is different - some code smells occur more frequently in mobile applications. We also found that different categories of Android applications have different code smell distributions. We highlight several implications of our study for application developers, tool builders, and researchers.
引用
收藏
页码:225 / 236
页数:12
相关论文
共 50 条
  • [1] Refactoring Android Source Code Smells From Android Applications
    Fawad, Muhammad
    Rasool, Ghulam
    Riaz, Muhammad Bilal
    IEEE ACCESS, 2025, 13 : 14122 - 14150
  • [2] Security code smells in Android ICC
    Pascal Gadient
    Mohammad Ghafari
    Patrick Frischknecht
    Oscar Nierstrasz
    Empirical Software Engineering, 2019, 24 : 3046 - 3076
  • [3] Incorporating Android Code Smells into Java']Java Static Code Metrics for Security Risk Prediction of Android Applications
    Gong, Ai
    Zhong, Yi
    Zou, Weiqin
    Shi, Yangyang
    Fang, Chunrong
    2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS 2020), 2020, : 30 - 40
  • [4] Security code smells in Android ICC
    Gadient, Pascal
    Ghafari, Mohammad
    Frischknecht, Patrick
    Nierstrasz, Oscar
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (05) : 3046 - 3076
  • [5] 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):
  • [6] 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
  • [7] On the Survival of Android Code Smells in the Wild
    Habchi, Sarra
    Rouvoy, Romain
    Moha, Naouel
    2019 IEEE/ACM 6TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2019), 2019, : 87 - 98
  • [8] 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
  • [9] 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
  • [10] Android code smells: From introduction to refactoring
    Habchi, Sarra
    Moha, Naouel
    Rouvoy, Romain
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 177