Android Code Smells: From Introduction to Refactoring

10/14/2020
by   Sarra Habchi, et al.
0

Object-oriented code smells are well-known concepts in software engineering that refer to bad design and development practices commonly observed in software systems. With the emergence of mobile apps, new classes of code smells have been identified by the research community as mobile-specific code smells. These code smells are presented as symptoms of important performance issues or bottlenecks. Despite the multiple empirical studies about these new code smells, their diffuseness and evolution along change histories remains unclear. We present in this article a large-scale empirical study that inspects the introduction, evolution, and removal of Android code smells. This study relies on data extracted from 324 apps, a manual analysis of 561 smell-removing commits, and discussions with 25 Android developers. Our findings reveal that the high diffuseness of mobile-specific code smells is not a result of releasing pressure. We also found that the removal of these code smells is generally a side effect of maintenance activities as developers do not refactor smell instances even when they are aware of them.

READ FULL TEXT
research
07/31/2018

An Empirical Study on Quality of Android Applications written in Kotlin language

Context: During the last years, developers of mobile applications have t...
research
03/15/2018

Using Automatic Refactoring to Improve Energy Efficiency of Android Apps

The ever-growing popularity of mobile phones has brought additional chal...
research
03/03/2023

An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps

Technical debt describes situations where developers write less-than-opt...
research
01/06/2022

FIXME: Synchronize with Database An Empirical Study of Data Access Self-Admitted Technical Debt

Developers sometimes choose design and implementation shortcuts due to t...
research
02/07/2022

Do Developers Refactor Data Access Code? An Empirical Study

Developers often refactor code to improve the maintainability and compre...
research
08/05/2023

LLM is Like a Box of Chocolates: the Non-determinism of ChatGPT in Code Generation

There has been a recent explosion of research on Large Language Models (...
research
12/31/2020

PHP code smells in web apps: survival and anomalies

Context: Code smells are considered symptoms of poor design, leading to ...

Please sign up or login with your details

Forgot password? Click here to reset