A Severity Assessment of Python']Python Code Smells

被引:0
|
作者
Gupta, Aakanshi [1 ]
Gandhi, Rashmi [1 ]
Jatana, Nishtha [2 ]
Jatain, Divya [2 ]
Panda, Sandeep Kumar [3 ]
Ramesh, Janjhyam Venkata Naga [4 ]
机构
[1] AUUP, Dept Comp Sci & Engn, ASET, Noida 201303, India
[2] Maharaja Surajmal Inst Technol, Delhi 110058, India
[3] ICFAI Fdn Higher Educ, Fac Sci & Technol IcfaiTech, Dept Artificial Intelligence & Data Sci, Hyderabad 501203, Telangana, India
[4] Koneru Lakshmaiah Educ Fdn, Vijayawada 522502, Andhra Pradesh, India
关键词
Software maintenance; Internet of Things; Open source software; Green design; code smell severity; cognitive complexity code smell; class change proneness; open-source software; sustainable software; SOFTWARE;
D O I
10.1109/ACCESS.2023.3327553
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Presence of code smells complicate the source code and can obstruct the development and functionality of the software project. As they represent improper behavior that might have an adverse effect on software maintenance, code smells are behavioral in nature. Python is widely used for various software engineering activities and tends tool to contain code smells that affect its quality. This study investigates five code smells diffused in 20 Python software comprising 10550 classes and analyses its severity index using metric distribution at the class level. Subsequently, a behavioral analysis has been conducted over the considered modification period (phases) for the code smell undergoing class change proneness. Furthermore, it helps to investigate the accurate multinomial classifier for mining the severity index. It witnesses the change in severity at the class level over the modification period by mapping its characteristics over various statistical functions and hypotheses. Our findings reveal that the Cognitive Complexity of code smell is the most severe one. The remaining four smells are centered around the moderate range, having an average severity index value. The results suggest that the J48 algorithm was the accurate multinomial classifier for classifying the severity of code smells with 92.98% accuracy in combination with the AdaBoost method. The findings of our empirical evaluation can be beneficial for the software developers to prioritize the code smells in the pre-refactoring phase and can help manage the code smells in forthcoming releases, subsequently saving ample time and resources spent in the development and maintenance of software projects.
引用
收藏
页码:119146 / 119160
页数:15
相关论文
共 50 条
  • [11] An Automated Code Update Tool For Python']Python Packages
    Navarro, Nacho
    Alamir, Salwa
    Babkin, Petr
    Shah, Sameena
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME, 2023, : 536 - 540
  • [12] CIGALE : a python']python Code Investigating GALaxy Emission
    Boquien, M.
    Burgarella, D.
    Roehlly, Y.
    Buat, V.
    Ciesla, L.
    Corre, D.
    Inoue, A. K.
    Salas, H.
    [J]. ASTRONOMY & ASTROPHYSICS, 2019, 622
  • [13] INSTRUMENTING PYTHON']PYTHON CODE TO IMPROVE THE DEVELOPMENT PROCESS
    Dobrescu-Balaur, Mihnea
    Negreanu, Lorina
    [J]. UNIVERSITY POLITEHNICA OF BUCHAREST SCIENTIFIC BULLETIN SERIES C-ELECTRICAL ENGINEERING AND COMPUTER SCIENCE, 2019, 81 (04): : 45 - 56
  • [14] Pipeline Circuit Synthesis from Python']Python Code
    Trost, Andrej
    Zemva, Andrej
    [J]. 2017 6TH MEDITERRANEAN CONFERENCE ON EMBEDDED COMPUTING (MECO), 2017, : 320 - 323
  • [15] Using AI to Inject Vulnerabilities in Python']Python Code
    Bogaerts, Frederic C. G.
    Ivaki, Naghmeh
    Fonseca, Jose
    [J]. 2023 53RD ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS WORKSHOPS, DSN-W, 2023, : 223 - 230
  • [16] Intelligent mining vulnerabilities in python']python code snippets
    Guo, Wenbo
    Huang, Cheng
    Niu, Weina
    Fang, Yong
    [J]. JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2021, 41 (02) : 3615 - 3628
  • [17] Python']Python Code Generation for Explicit MPC in MPT
    Takacs, Balint
    Stevek, Juraj
    Valo, Richard
    Kvasnica, Michal
    [J]. 2016 EUROPEAN CONTROL CONFERENCE (ECC), 2016, : 1328 - 1333
  • [18] Python']Python Code Generation by Asking Clarification Questions
    Li, Haau-Sing
    Mesgar, Mohsen
    Martins, Andre F. T.
    Gurevych, Iryna
    [J]. PROCEEDINGS OF THE 61ST ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS (ACL 2023): LONG PAPERS, VOL 1, 2023, : 14287 - 14306
  • [19] PyScribe-Learning to describe python']python code
    Guo, Juncai
    Liu, Jin
    Liu, Xiao
    Wan, Yao
    Zhao, Yanjie
    Li, Li
    Liu, Kui
    Klein, Jacques
    Bissyande, Tegawende
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2024, 54 (03): : 501 - 527
  • [20] Understanding metric-based detectable smells in Python']Python software: A comparative study
    Chen Zhifei
    Chen Lin
    Ma Wanwangying
    Zhou Xiaoyu
    Zhou Yuming
    Xu Baowen
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 94 : 14 - 29