An empirical study of Android behavioural code smells detection

被引:3
|
作者
Prestat, Dimitri [1 ]
Moha, Naouel [1 ,2 ]
Villemaire, Roger [1 ]
机构
[1] Univ Quebec Montreal, Montreal, PQ, Canada
[2] Ecole Technol Super, Montreal, PQ, Canada
关键词
Android; Code smells; Detection; Empirical study; Mobile apps; Behavioural;
D O I
10.1007/s10664-022-10212-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:34
相关论文
共 50 条
  • [21] Empirical study of the relationship between design patterns and code smells
    Alfadel, Mahmoud
    Aljasser, Khalid
    Alshayeb, Mohammad
    [J]. PLOS ONE, 2020, 15 (04):
  • [22] On the Effectiveness of Concern Metrics to Detect Code Smells: An Empirical Study
    Padilha, Juliana
    Pereira, Juliana
    Figueiredo, Eduardo
    Almeida, Jussara
    Garcia, Alessandro
    Sant'Anna, Claudio
    [J]. ADVANCED INFORMATION SYSTEMS ENGINEERING (CAISE 2014), 2014, 8484 : 656 - 671
  • [23] Are Existing Code Smells Relevant in Web Games? An Empirical Study
    Khanve, Vaishali
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 1241 - 1243
  • [24] Are existing code smells relevant in web games? An empirical study
    Khanve, Vaishali
    [J]. ESEC/FSE 2019 - Proceedings of the 2019 27th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2019, : 1241 - 1243
  • [25] DynAMICS: A Tool-Based Method for the Specification and Dynamic Detection of Android Behavioral Code Smells
    Prestat, Dimitri
    Moha, Naouel
    Villemaire, Roger
    Avellaneda, Florent
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (04) : 765 - 784
  • [26] Software Code Smells and Defects: An Empirical Investigation
    Brown, Reuben
    Greer, Des
    [J]. PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 570 - 580
  • [27] Code smells as system-level indicators of maintainability: An empirical study
    Yamashita, Aiko
    Counsell, Steve
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (10) : 2639 - 2653
  • [28] A large-scale empirical study of code smells in JavaScript projects
    David Johannes
    Foutse Khomh
    Giuliano Antoniol
    [J]. Software Quality Journal, 2019, 27 : 1271 - 1314
  • [29] An Empirical Study on the Occurrences of Code Smells in Open Source and Industrial Projects
    Rahman, Md. Masudur
    Satter, Abdus
    Joarder, Md. Mahbubul Alam
    Sakib, Kazi
    [J]. PROCEEDINGS OF THE16TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, ESEM 2022, 2022, : 289 - 294
  • [30] The Smelly Eight: An Empirical Study on the Prevalence of Code Smells in Quantum Computing
    Chen, Qihong
    Camara, Ruben
    Campos, Jose
    Souto, Andre
    Ahmed, Iftekhar
    [J]. 2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 358 - 370