Emerging Trends in Code Quality: Introducing Kotlin-Specific Bad Smell Detection Tool for Android Apps

被引:0
作者
Novendra, Radinal Dwiki [1 ]
Sunindyo, Wikan Danar [1 ]
机构
[1] Bandung Inst Technol, Sch Elect Engn & Informat, Bandung 40132, West Java, Indonesia
关键词
Codes; Operating systems; !text type='Java']Java[!/text; Software; Complexity theory; Syntactics; Source coding; Androids; Detection algorithms; Olfactory; Code smells; android; Kotlin;
D O I
10.1109/ACCESS.2024.3397055
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The increasing demand for Android applications in line with technological evolution and the development of new features often leads to frequent updates and releases of applications. However, in this update cycle, developers sometimes make hasty changes that result in poor design choices, leading to the emergence of bad smell code. The impact of smells involves a decrease in quality, performance, and understanding, and impedes the software maintenance process. Some previously developed smell detection tools rely on JavaParser to parse source code into an Abstract Syntax Tree representation, meaning the extracted information is limited to Java programming language source code. Meanwhile, Google recommends Kotlin as the language for developing Android applications, and over 60% of professional Android developers use Kotlin. This research is using Program Structure Interface representation and applies a software metric-based approach as a method of smell detection and implements it into a Kotlin Android bad smell code detection tool. This approach was chosen because the characteristics of each smell can be represented with software metrics. The tool's evaluation results on five Kotlin Android projects showed an F-measure of 100% for Brain Class detection, 93.77% for God Class, and 85.71% for Brain Method. Comparing the tool's detection results with the iPlasma tool on the Quran project showed that the developed tool detected more smell occurrences. Usability testing results indicated that seven participants strongly agreed with the easy-to-understand detection results, easy-to-find presented functionality, clearly presented information, and the tool helped to perform metric calculation and smell detection more quickly and efficiently. The average rating given for each question was between 4.29 - 4.71.
引用
收藏
页码:63895 / 63903
页数:9
相关论文
共 25 条
[1]   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
[2]   The Effect of Code Smells on the Relationship Between Design Patterns and Defects [J].
Alkhaeir, Tarek ;
Walter, Bartosz .
IEEE ACCESS, 2021, 9 (09) :3360-3373
[3]   Software Design Smell Detection: a systematic mapping study [J].
Alkharabsheh, Khalid ;
Crespo, Yania ;
Manso, Esperanza ;
Taboada, Jose A. .
SOFTWARE QUALITY JOURNAL, 2019, 27 (03) :1069-1148
[4]  
[Anonymous], Develop Android apps with Kotlin
[5]  
[Anonymous], 1994, McCabe Object Oriented Tool User's Instructions
[6]  
Bieman J. M., 1995, SIGSOFT Software Engineering Notes, P259, DOI 10.1145/223427.211856
[7]  
Ceci L., 2009, Statista
[8]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[9]   Code Smells Detection and Visualization: A Systematic Literature Review [J].
dos Reis, Jose Pereira ;
Brito e Abreu, Fernando ;
Carneiro, Glauco de Figueiredo ;
Anslow, Craig .
ARCHIVES OF COMPUTATIONAL METHODS IN ENGINEERING, 2022, 29 (01) :47-94
[10]  
Fowler M., 2018, REFACTORING IMPROVIN