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 条
  • [31] On Locating Malicious Code in Piggybacked Android Apps
    Li Li
    Daoyuan Li
    Tegawendé F. Bissyandé
    Jacques Klein
    Haipeng Cai
    David Lo
    Yves Le Traon
    Journal of Computer Science and Technology, 2017, 32 : 1108 - 1124
  • [32] 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
  • [33] An Empirical Study of Functional Bugs in Android Apps
    Xiong, Yiheng
    Xu, Mengqian
    Su, Ting
    Sun, Jingling
    Wang, Jue
    Wen, He
    Pu, Geguang
    He, Jifeng
    Su, Zhendong
    PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023, 2023, : 1319 - 1331
  • [34] Investigating the Android Apps' Success: An Empirical Study
    Guerrouj, Latifa
    Baysal, Olga
    2016 IEEE 24TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2016,
  • [35] An Empirical Study of Flaky Tests in Android Apps
    Chandani, Swapna
    Sreshtha, Chandani
    Meng, Na
    PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 534 - 538
  • [36] An Empirical Study of Insecure Communication in Android Apps
    Zhang, Yue-heng
    Shu, Jun-liang
    Li, Juan-ru
    Wang, Qing
    Gu, Da-wu
    INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATION AND NETWORK ENGINEERING (WCNE 2016), 2016,
  • [37] 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
  • [38] An Empirical Study of SSL Usage in Android Apps
    Shin, Dongwan
    Sun, Jiangfeng
    2018 52ND ANNUAL IEEE INTERNATIONAL CARNAHAN CONFERENCE ON SECURITY TECHNOLOGY (ICCST), 2018, : 217 - 221
  • [39] WallMauer: Robust Code Coverage Instrumentation for Android Apps
    Auer, Michael
    Arcuschin Moreno, Iván
    Fraser, Gordon
    Proceedings - 2024 IEEE/ACM International Conference on Automation of Software Test, AST 2024, : 34 - 44
  • [40] A Catalog of Object-Relational Mapping Code Smells for Java']Java
    Loli, Samuel
    Teixeira, Leopoldo
    Cartaxo, Bruno
    34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 82 - 91