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 条
  • [1] Detecting Code Smells in Python']Python Programs
    Chen, Zhifei
    Chen, Lin
    Ma, Wanwangying
    Xu, Baowen
    [J]. 2016 INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, TESTING AND EVOLUTION (SATE 2016), 2016, : 18 - 23
  • [2] Python']Python code smells detection using conventional machine learning models
    Sandouka, Rana
    Aljamaan, Hamoud
    [J]. PEERJ COMPUTER SCIENCE, 2023, 9
  • [3] Share, But Be Aware: Security Smells in Python']Python Gists
    Rahman, Md Rayhanur
    Rahman, Akond
    Williams, Laurie
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 536 - 540
  • [4] Python code smells detection using conventional machine learning models
    Sandouka, Rana
    Aljamaan, Hamoud
    [J]. PeerJ Computer Science, 2023, 9
  • [5] Making Python']Python Code Idiomatic by Automatic Refactoring Non-idiomatic Python']Python Code with Python']Pythonic Idioms
    Zhang, Zejun
    Xing, Zhenchang
    Xia, Xin
    Xu, Xiwei
    Zhu, Liming
    [J]. PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 696 - 708
  • [6] CRYSTALpytools: A Python']Python infrastructure for the CRYSTAL code
    Camino, Bruno
    Zhou, Huanyu
    Ascrizzi, Eleonora
    Boccuni, Alberto
    Bodo, Filippo
    Cossard, Alessandro
    Mitoli, Davide
    Ferrari, Anna Maria
    Erba, Alessandro
    Harrison, Nicholas M.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2023, 292
  • [7] Python']Python Code Parallelization, Challenges and Alternatives
    Gonzalez, Justo
    Taylor, Julian
    Castro, Sandra
    Kern, Jeff
    Knudstrup, Jens
    Zampieri, Stefano
    Manning, Alisdair
    Bhatnagar, Sanjay
    Davis, Lindsey
    Golap, Kumar
    Jacobs, Jim
    Nakazato, Takeshi
    Petry, Dirk
    Pokorny, Martin
    Rao, Urvashi
    Robnett, James
    Schiebel, Darrell
    Sugimoto, Kanako
    Tsutsumi, Takahiro
    Wells, Akeem
    Williams, Stewart J.
    [J]. ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXVI, 2019, 521 : 515 - 518
  • [8] Study of defects in a program code in Python']Python
    Bronshteyn, I. E.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2013, 39 (06) : 279 - 284
  • [9] cij: A Python']Python code for quasiharmonic thermoelasticity
    Luo, Chenxing
    Deng, Xin
    Wang, Wenzhong
    Shukla, Gaurav
    Wu, Zhongqing
    Wentzcovitch, Renata M.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2021, 267
  • [10] PyMLDA: A Python']Python open-source code for Machine Learning Damage Assessment
    Coelho, Jefferson da Silva
    Machado, Marcela Rodrigues
    de Sousa, Amanda Aryda S. R.
    [J]. SOFTWARE IMPACTS, 2024, 19