Exploiting the Progress of OO Refactoring Tools with Android Code Smells

被引:3
作者
Gattal, Abderraouf [1 ]
Hammache, Abir [1 ]
Bousbia, Nabila [1 ]
Henniche, Adel Nassim [1 ]
机构
[1] Ecole Natl Super Informat Oued Smar, LMCS ESI, Algiers, Algeria
来源
36TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2021 | 2021年
关键词
Code Smells; Refactoring; Android; !text type='Java']Java[!/text; Mobile Application;
D O I
10.1145/3412841.3442129
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Mobile applications market is facing a stronger demand continuously, due to the growing popularity of mobile phones. A demand that forces developers to rush the implementation process and shorten the conception phase, leading to poor conception and implementation choices known as code smells. These smells have a negative effect on both device and application's performance, and must therefore be corrected to ensure the quality of mobile applications and the smoothness of their users' experience. This task requires the identification of the infected entities and their refactoring. Most existing refactoring approaches and techniques are focused on object-oriented applications' code smells while only a few of them are destined to Android specific code smells. In this paper, we present a tool, named RAndroid, that handles automatic refactoring for four different Android specific code smells, and gives recommendations on how to manually refactor a fifth one. RAndroid is built as an Android Studio plugin adapting the logic of the well-known oriented-object refactoring tool "JDeodorant" [13] as it's first layer. We evaluated RAndroid on 52 real-world open-source Android applications, developed by both experts and beginners, covering 194 code smell instances.
引用
收藏
页码:1580 / 1583
页数:4
相关论文
共 41 条
[21]   An Empirical Investigation on the Effect of Code Smells on Resource Usage of Android Mobile Applications [J].
Alkandari, Mohammad A. ;
Kelkawi, Ali ;
Elish, Mahmoud O. .
IEEE ACCESS, 2021, 9 :61853-61863
[22]   ANN Modelling on Vulnerabilities Detection in Code Smells-Associated Android Applications [J].
Gupta, Aakanshi ;
Sharma, Deepanshu ;
Phulli, Kritika .
FOUNDATIONS OF COMPUTING AND DECISION SCIENCES, 2022, 47 (01) :3-26
[23]   An empirical catalog of code smells for the presentation layer of Android apps [J].
Suelen Goularte Carvalho ;
Maurício Aniche ;
Júlio Veríssimo ;
Rafael S. Durelli ;
Marco Aurélio Gerosa .
Empirical Software Engineering, 2019, 24 :3546-3586
[24]   A probabilistic-based approach for automatic identification and refactoring of software code smells [J].
Saheb-Nassagh, Raana ;
Ashtiani, Mehrdad ;
Minaei-Bidgoli, Behrouz .
APPLIED SOFT COMPUTING, 2022, 130
[25]   Do We Have a Chance to Fix Bugs When Refactoring Code Smells? [J].
Ma, Wanwangying ;
Chen, Lin ;
Zhou, Yuming ;
Xu, Baowen .
2016 INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, TESTING AND EVOLUTION (SATE 2016), 2016, :24-29
[26]   An empirical catalog of code smells for the presentation layer of Android apps [J].
Carvalho, Suelen Goularte ;
Aniche, Mauricio ;
Verissimo, Julio ;
Durelli, Rafael S. ;
Gerosa, Marco Aurelio .
EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (06) :3546-3586
[27]   MORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells [J].
Ouni, Ali ;
Kessentini, Marouane ;
Cinneide, Mel O. ;
Sahraoui, Houari ;
Deb, Kalyanmoy ;
Inoue, Katsuro .
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (05)
[28]   Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability [J].
Meananeatra, Panita ;
Rongviriyapanish, Songsakdi ;
Apiwattanapong, Taweesup .
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2018, E101D (07) :1766-1779
[29]   Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When Teaching Code Refactoring [J].
Tan, Ivan ;
Poskitt, Christopher M. .
PROCEEDINGS OF THE 55TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE 2024, VOL. 1, 2024, :1307-1313
[30]   Droidlens: Robust and Fine-Grained Detection for Android Code Smells [J].
Mao, Chenguang ;
Wang, Hao ;
Han, Gaojie ;
Zhang, Xiaofang .
2020 INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING (TASE 2020), 2020, :161-168