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 条
  • [41] Obfuscation-Resilient Code Recognition in Android Apps
    Feichtner, Johannes
    Rabensteiner, Christof
    14TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY (ARES 2019), 2019,
  • [42] WallMauer: Robust Code Coverage Instrumentation for Android Apps
    Auer, Michael
    Arcuschin Moreno, Ivan
    Fraser, Gordon
    PROCEEDINGS OF THE 2024 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST 2024, 2024, : 34 - 44
  • [43] An Empirical Study of Code Smells in Java']JavaScript Projects
    Saboury, Amir
    Musavi, Pooya
    Khomh, Foutse
    Antoniol, Giulio
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 294 - 305
  • [44] Empirical Software Evolvability - Code Smells and Human Evaluations
    Mantyla, Mika V.
    2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [45] A taxonomy and an initial empirical study of bad smells in code
    Mäntylä, M
    Vanhanen, J
    Lassenius, C
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, : 381 - 384
  • [46] 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
  • [47] 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
  • [48] 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):
  • [49] Security Apps under the Looking Glass: An Empirical Analysis of Android Security Apps
    Yao, Weixian
    Li, Yexuan
    Lin, Weiye
    Hu, Tianhui
    Chowdhury, Imran
    Masood, Rahat
    Seneviratne, Suranga
    PROCEEDINGS OF THE 2020 IEEE 45TH CONFERENCE ON LOCAL COMPUTER NETWORKS (LCN 2020), 2020, : 381 - 384
  • [50] An empirical study of configuration changes and adoption in Android apps
    Jha, Ajay Kumar
    Lee, Sunghee
    Lee, Woo Jin
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 156 : 164 - 180