An empirical catalog of code smells for the presentation layer of Android apps

被引:0
|
作者
Suelen Goularte Carvalho
Maurício Aniche
Júlio Veríssimo
Rafael S. Durelli
Marco Aurélio Gerosa
机构
[1] University of São Paulo,
[2] Delft University of Technology,undefined
[3] Federal University of Lavras,undefined
[4] Northern Arizona University,undefined
来源
关键词
Android mobile applications; Code smells; Empirical software engineering; Software maintenance and evolution;
D O I
暂无
中图分类号
学科分类号
摘要
Software developers, including those of the Android mobile platform, constantly seek to improve their applications’ maintainability and evolvability. Code smells are commonly used for this purpose, as they indicate symptoms of design problems. However, although the literature presents a variety of code smells, such as God Class and Long Method, characteristics that are specific to the underlying technologies are not taken into account. The presentation layer of an Android app, for example, implements specific architectural decisions from the Android platform itself (such as the use of Activities, Fragments, and Listeners) as well as deal with and integrate different types of resources (such as layouts and images). Through a three-step study involving 246 Android developers, we investigated code smells that developers perceive for this part of Android apps. We devised 20 specific code smells and collected the developers’ perceptions of their frequency and importance. We also implemented a tool that identifies the proposed code smells and studied their prevalence in 619 open-source Android apps. Our findings suggest that: 1) developers perceive smells specific to the presentation layer of Android apps; 2) developers consider these smells to be of high importance and frequency; and 3) the proposed smells occur in real-world Android apps. Our domain-specific smells can be leveraged by developers, researchers, and tool developers for searching potentially problematic pieces of code.
引用
收藏
页码:3546 / 3586
页数:40
相关论文
共 50 条
  • [21] Too Quiet in the Library: An Empirical Study of Security Updates in Android Apps' Native Code
    Almanee, Sumaya
    Unal, Arda
    Payer, Mathias
    Garcia, Joshua
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1347 - 1359
  • [22] Empirical Analysis of Android Apps Permissions
    Abu Bakar, Normi Sham Awang
    Mahmud, Iqram
    2013 INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER SCIENCE APPLICATIONS AND TECHNOLOGIES (ACSAT), 2014, : 406 - 411
  • [23] Android Source Code Smells: A Systematic Literature Review
    Fawad, Muhammad
    Rasool, Ghulam
    Palma, Francis
    SOFTWARE-PRACTICE & EXPERIENCE, 2024,
  • [24] UIS-Hunter: Detecting UI Design Smells in Android Apps
    Yang, Bo
    Xing, Zhenchang
    Xia, Xin
    Chen, Chunyang
    Ye, Deheng
    Li, Shanping
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 89 - 92
  • [25] Detecting code smells in React-based Web apps
    Ferreira, Fabio
    Valente, Marco Tulio
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 155
  • [26] PHP code smells in web apps: Evolution, survival and anomalies
    Rio, Americo
    Brito e Abreu, Fernando
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 200
  • [27] On Locating Malicious Code in Piggybacked Android Apps
    Li, Li
    Li, Daoyuan
    Bissyande, Tegawende F.
    Klein, Jacques
    Cai, Haipeng
    Lo, David
    Le Traon, Yves
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2017, 32 (06) : 1108 - 1124
  • [28] Characterizing the Exception Handling Code of Android Apps
    Queiroz, Francisco Diogo
    Coelho, Roberta
    PROCEEDINGS OF 2016 X BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS), 2016, : 131 - 140
  • [29] Software Code Smells and Defects: An Empirical Investigation
    Brown, Reuben
    Greer, Des
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 570 - 580
  • [30] Empirical Study on Code Smells in iOS Applications
    Rahkema, Kristiina
    Pfahl, Dietmar
    2020 IEEE/ACM 7TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS, MOBILESOFT, 2020, : 61 - 65