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 条
[11]   Security code smells in Android ICC [J].
Pascal Gadient ;
Mohammad Ghafari ;
Patrick Frischknecht ;
Oscar Nierstrasz .
Empirical Software Engineering, 2019, 24 :3046-3076
[12]   Security code smells in Android ICC [J].
Gadient, Pascal ;
Ghafari, Mohammad ;
Frischknecht, Patrick ;
Nierstrasz, Oscar .
EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (05) :3046-3076
[13]   An Empirical Study of the Performance Impacts of Android Code Smells [J].
Hecht, Geoffrey ;
Moha, Naouel ;
Rouvoy, Romain .
2016 IEEE/ACM INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2016), 2016, :59-69
[14]   An empirical study of Android behavioural code smells detection [J].
Prestat, Dimitri ;
Moha, Naouel ;
Villemaire, Roger .
EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (07)
[15]   An empirical study of Android behavioural code smells detection [J].
Dimitri Prestat ;
Naouel Moha ;
Roger Villemaire .
Empirical Software Engineering, 2022, 27
[16]   A systematic literature review: Refactoring for disclosing code smells in object oriented software [J].
Singh, Satwinder ;
Kaur, Sharanpreet .
AIN SHAMS ENGINEERING JOURNAL, 2018, 9 (04) :2129-2151
[17]   Toward a novel taxonomy to capture code smells caused by refactoring [J].
Alkhomsan, Mashail N. ;
Alshayeb, Mohammad ;
Baslyman, Malak .
SCIENCE OF COMPUTER PROGRAMMING, 2024, 236
[18]   Research on the Tools of Clone Code Refactoring [J].
Zhao Fengrong ;
Zhang Liping ;
Zhao Junqi .
PROCEEDINGS OF THE 2019 3RD INTERNATIONAL CONFERENCE ON MANAGEMENT ENGINEERING, SOFTWARE ENGINEERING AND SERVICE SCIENCES (ICMSS 2019), 2019, :27-31
[19]   A Systematic Literature Survey of Software Metrics, Code Smells and Refactoring Techniques [J].
Agnihotri, Mansi ;
Chug, Anuradha .
JOURNAL OF INFORMATION PROCESSING SYSTEMS, 2020, 16 (04) :915-934
[20]   Sniffing Android Code Smells: An Association Rules Mining-based Approach [J].
Rubin, Jehan ;
Henniche, Adel Nassim ;
Moha, Naouel ;
Bouguessa, Mohamed ;
Bousbia, Nabila .
2019 IEEE/ACM 6TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2019), 2019, :123-127