An empirical study of Android behavioural code smells detection

被引:0
作者
Dimitri Prestat
Naouel Moha
Roger Villemaire
机构
[1] Université du Québec à Montréal,
[2] École de Technologie Supérieure,undefined
来源
Empirical Software Engineering | 2022年 / 27卷
关键词
Android; Code smells; Detection; Empirical study; Mobile apps; Behavioural;
D O I
暂无
中图分类号
学科分类号
摘要
Mobile applications (apps) are developed quickly and evolve continuously. Each development iteration may introduce poor design choices, and therefore produce code smells. Code smells complexify source code and may impede the evolution and performance of mobile apps. In addition to common object-oriented code smells, mobile apps have their own code smells because of their limitations and constraints on resources like memory, performance and energy consumption. Some of these mobile-specific smells are behavioural because they describe an inappropriate behaviour that may negatively impact software quality. Many tools exist to detect code smells in mobile apps, based specifically on static analysis techniques. In this paper, we are especially interested in two tools: Paprika and aDoctor. Both tools use representative techniques from the literature and contain behavioural code smells. We analyse the effectiveness of behavioural code smells detection in practice within the tools of concern by performing an empirical study of code smells detected in apps. This empirical study aims to answer two research questions. First, are the detection tools effective in detecting behavioural code smells? Second, are the behavioural code smells detected by the tools consistent with their original literal definition? We emphasise the limitations of detection using only static techniques and the lessons learned from our empirical study. This study shows that established static analysis methods deemed to be effective for code smells detection are inadequate for behavioural mobile code smells detection.
引用
收藏
相关论文
共 50 条
[41]   Machine Learning Techniques for Code Smells Detection: A Systematic Mapping Study [J].
Caram, Frederico Luiz ;
De Oliveira Rodrigues, Bruno Rafael ;
Campanelli, Amadeu Silveira ;
Parreiras, Fernando Silva .
INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2019, 29 (02) :285-316
[42]   Software Metric Based Impact Analysis of Code Smells - A Large Scale Empirical Study [J].
Rahman, Md. Masudur ;
Satter, Abdus ;
Joarder, Md. Mahbubul Alam ;
Sakib, Kazi .
SOFTWARE-PRACTICE & EXPERIENCE, 2025, 55 (05) :925-945
[43]   Investigating the Energy Impact of Android Smells [J].
Carette, Antonin ;
Younes, Mehdi Adel Ait ;
Hecht, Geoffrey ;
Moha, Naouel ;
Rouvoy, Romain .
2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, :115-126
[44]   An empirical investigation of the relationship between pattern grime and code smells [J].
Alharbi, Maha ;
Alshayeb, Mohammad .
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (09)
[45]   The relationship between design patterns and code smells: An exploratory study [J].
Walter, Bartosz ;
Alkhaeir, Tarek .
INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 74 :127-142
[46]   Automatic detection of bad smells in code: An experimental assessment [J].
Fontana, Francesca Arcelli ;
Braione, Pietro ;
Zanoni, Marco .
JOURNAL OF OBJECT TECHNOLOGY, 2012, 11 (02)
[47]   Detection of Embedded Code Smells in Dynamic Web Applications [J].
Hung Viet Nguyen ;
Hoan Anh Nguyen ;
Tung Thanh Nguyen ;
Anh Tuan Nguyen ;
Nguyen, Tien N. .
2012 PROCEEDINGS OF THE 27TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2012, :282-285
[48]   Automatic Human-Like Detection of Code Smells [J].
Soomlek, Chitsutha ;
van Rijn, Jan N. ;
Bonsangue, Marcello M. .
DISCOVERY SCIENCE (DS 2021), 2021, 12986 :19-28
[49]   Refused Bequest Code Smells Detection on Software Design [J].
Firdaus, Muhammad Faishal ;
Priyambadha, Bayu ;
Pradana, Fajar .
PROCEEDINGS OF 2018 3RD INTERNATIONAL CONFERENCE ON SUSTAINABLE INFORMATION ENGINEERING AND TECHNOLOGY (SIET 2018), 2018, :288-291
[50]   On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation [J].
Fabio Palomba ;
Gabriele Bavota ;
Massimiliano Di Penta ;
Fausto Fasano ;
Rocco Oliveto ;
Andrea De Lucia .
Empirical Software Engineering, 2018, 23 :1188-1221