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 条
  • [21] Towards Better Dependency Management: A First Look at Dependency Smells in Python']Python Projects
    Cao, Yulu
    Chen, Lin
    Ma, Wanwangying
    Li, Yanhui
    Zhou, Yuming
    Wang, Linzhang
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (04) : 1741 - 1765
  • [22] pycefr: Python']Python Competency Level through Code Analysis
    Robles, Gregorio
    Kula, Raula Gaikovina
    Ragkhitwetsagul, Chaiyong
    Sakulniwat, Tattiya
    Matsumoto, Kenichi
    Gonzalez-Barahona, Jesus M.
    [J]. 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 173 - 177
  • [23] The Lompe code: A Python']Python toolbox for ionospheric data analysis
    Hovland, A. O.
    Laundal, K. M.
    Reistad, J. P.
    Hatch, S. M.
    Walker, S. J.
    Madelaire, M.
    Ohma, A.
    [J]. FRONTIERS IN ASTRONOMY AND SPACE SCIENCES, 2022, 9
  • [24] A finite element based homogenization code in python']python: HomPy
    Ozdilek, Emin Emre
    Ozcakar, Egecan
    Muhtaroglu, Nitel
    Simsek, Ugur
    Gulcan, Orhan
    Sendur, Gullu Kiziltas
    [J]. ADVANCES IN ENGINEERING SOFTWARE, 2024, 194
  • [25] Towards a Severity and Activity based Assessment of Code Smells
    Husien, Harris Kristanto
    Harun, Muhammad Firdaus
    Lichter, Horst
    [J]. DISCOVERY AND INNOVATION OF COMPUTER SCIENCE TECHNOLOGY IN ARTIFICIAL INTELLIGENCE ERA, 2017, 116 : 460 - 467
  • [26] RelaxPy: Python']Python code for modeling of glass relaxation behavior
    Wilkinson, Collin J.
    Mauro, Yihong Z.
    Mauro, John C.
    [J]. SOFTWAREX, 2018, 7 : 255 - 258
  • [27] An Exploratory Study on the Predominant Programming Paradigms in Python']Python Code
    Dyer, Robert
    Chauhan, Jigyasa
    [J]. PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 684 - 695
  • [28] The Raise of Machine Learning Hyperparameter Constraints in Python']Python Code
    Rak-amnouykit, Ingkarat
    Milanova, Ana
    Baudart, Guillaume
    Hirzel, Martin
    Dolby, Julian
    [J]. PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 580 - 592
  • [29] Pcigale: Porting Code Investigating Galaxy Emission to Python']Python
    Roehlly, Yannick
    Burgarella, Denis
    Buat, Veronique
    Boquien, Mederic
    Ciesla, Laure
    Heinis, Sebastien
    [J]. ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXIII, 2014, 485 : 347 - 350
  • [30] Tuplex: Data Science in Python']Python at Native Code Speed
    Spiegelberg, Leonhard
    Yesantharao, Rahul
    Schwarzkopf, Malte
    Kraska, Tim
    [J]. SIGMOD '21: PROCEEDINGS OF THE 2021 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2021, : 1718 - 1731