TY - GEN
T1 - An Empirical Study on Code Smells Co-occurrences in Android Applications
AU - Hamdi, Oumayma
AU - Ouni, Ali
AU - Alomar, Eman Abdullah
AU - Mkaouer, Mohamed Wiem
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021
Y1 - 2021
N2 - Android applications (apps) evolve quickly to meet users requirements, fix bugs or adapt to technological changes. Such changes can lead to the presence of code smells-symptoms of poor design and/or implementation choices that may hinder the project maintenance and evolution. Previous research studied the characteristics of traditional object-oriented (OO) code smells affecting source code files in desktop software systems, and advocated that the interaction and co-presence of code smells reduce the ability of developers to understand and maintain source code. However, little knowledge is available on emerging categories of Android-specific code smells and their interactions, i.e., co-occurences, with traditional OO smells, in the context of Android apps. To provide a broader understanding of this phenomenon, we conduct an empirical study on 1,923 open source Android apps taking into account 15 types of Android-specific and 10 types of traditional OO code smells. Our results show that the co-occurrence phenomenon is indeed prevalent in Android apps and several smell types have strong associations. Developers need to be aware of this phenomenon and consider detecting and eliminating both traditional and Android smells separately, using dedicated tools.
AB - Android applications (apps) evolve quickly to meet users requirements, fix bugs or adapt to technological changes. Such changes can lead to the presence of code smells-symptoms of poor design and/or implementation choices that may hinder the project maintenance and evolution. Previous research studied the characteristics of traditional object-oriented (OO) code smells affecting source code files in desktop software systems, and advocated that the interaction and co-presence of code smells reduce the ability of developers to understand and maintain source code. However, little knowledge is available on emerging categories of Android-specific code smells and their interactions, i.e., co-occurences, with traditional OO smells, in the context of Android apps. To provide a broader understanding of this phenomenon, we conduct an empirical study on 1,923 open source Android apps taking into account 15 types of Android-specific and 10 types of traditional OO code smells. Our results show that the co-occurrence phenomenon is indeed prevalent in Android apps and several smell types have strong associations. Developers need to be aware of this phenomenon and consider detecting and eliminating both traditional and Android smells separately, using dedicated tools.
KW - Android apps
KW - Android smells
KW - Association rule mining
KW - Co-occurence
KW - Code smells
UR - http://www.scopus.com/inward/record.url?scp=85125668374&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85125668374&partnerID=8YFLogxK
U2 - 10.1109/ASEW52652.2021.00018
DO - 10.1109/ASEW52652.2021.00018
M3 - Conference contribution
AN - SCOPUS:85125668374
T3 - Proceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops, ASEW 2021
SP - 26
EP - 33
BT - Proceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops, ASEW 2021
T2 - 36th IEEE/ACM International Conference on Automated Software Engineering Workshops, ASEW 2021
Y2 - 15 November 2021 through 19 November 2021
ER -