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
相关论文
共 13 条
[1]  
[Anonymous], 2020, Mobile operating system market share worldwide
[2]  
Fontana F.A., 2015, P XP 15 WORKSH, P1, DOI DOI 10.1145/2764979.2764986
[3]  
FOWLER M, 1999, REFACTORING IMPROVIN
[4]   Tracking the Software Quality of Android Applications along their Evolution [J].
Hecht, Geoffrey ;
Benomar, Omar ;
Rouvoy, Romain ;
Moha, Naouel ;
Duchien, Laurence .
2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, :236-247
[5]  
Hecht Geoffrey, 2016, Theses
[6]  
Intellij-Team, 2020, Program Structure Interface (PSI)| IntelliJ Platform SDK DevGuide.
[7]  
JetBrains-Research, 2020, JetBrains-Research/IntelliJDeodorant: Based on tsantalis/JDeodorant
[8]  
Mannan UA, 2016, 2016 IEEE/ACM INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2016), P225, DOI [10.1145/2897073.2897094, 10.1109/MobileSoft.2016.048]
[9]  
Palomba F, 2017, 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P487, DOI 10.1109/SANER.2017.7884659
[10]  
Reimann Jan., 2014, Softwaretechnik-Trends, V34