Code Refactoring for Software Reusability: An Experimental Study

被引:0
|
作者
Almogahed, Abdullah [1 ]
Mandin, Hairulnizam [1 ]
Rejab, Mazidah Mat [1 ]
Alawadhi, Abdulwadood [2 ]
Barraood, Samera Obaid [3 ]
Othman, Manal [4 ]
Al-Jamili, Omar [5 ]
Almazroi, Abdulwahab Ali [6 ]
Shaharudin, Shazlyn Milleana [7 ]
机构
[1] Univ Tun Hussein Onn Malaysia, Fac Comp Sci & Informat Technol, Parit Raja, Johor, Malaysia
[2] Univ Utara Malaysia, Sch Comp, InterNetWorks Res Lab, Sintok, Kedah, Malaysia
[3] Hadhramout Univ, Coll Comp & Informat Technol, Hadhramout, Yemen
[4] Taiz Univ, Coll Appl Sci, Comp Sci Dept, Taizi, Yemen
[5] Univ Sci & Technol, Fac Engn & Comp, Aden, Yemen
[6] Univ Jeddah, Coll Comp & Informat Technol Khulais, Dept Informat Technol, Jeddah, Saudi Arabia
[7] Univ Pendidikan Sultan Idris, Fac Sci & Math, Tanjong Malim, Malaysia
来源
2024 4TH INTERNATIONAL CONFERENCE ON EMERGING SMART TECHNOLOGIES AND APPLICATIONS, ESMARTA 2024 | 2024年
关键词
refactoring; refactoring techniques; software reusability; software quality; software metrics; software maintenance;
D O I
10.1109/eSmarTA62850.2024.10638872
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Refactoring plays a critical role in enhancing the quality of software systems, enabling them to accommodate growing user bases, feature sets, and performance demands. Software reusability is an essential aspect of software quality. It is crucial in modern software development as it offers several benefits, including increased productivity, improved code quality, and cost-effectiveness. However, there is a lack of studies investigating how specific refactoring techniques affect reusability. Therefore, this study aims to explore the effects of code refactoring on software reusability. This study was conducted in four stages: selecting refactoring techniques, selecting a large dataset, selecting software metrics to measure the reusability, and applying the refactoring techniques. The five most common refactoring techniques (Extract Interface, Encapsulate Field, Extract Class, Inline Class, and Inline Method) used in practices were selected and applied in the jEdit dataset. The refactoring techniques were carried out 338 times through five experiments in the jEdit dataset. The finding reveals that Extract Interface, Encapsulate Field, and Extract Class significantly improve the code reusability while Inline Class and Inline Method impair it. Developers and software architects can use this knowledge to make well-informed judgments about refactoring techniques and develop more robust and reusable software systems.
引用
收藏
页码:62 / 67
页数:6
相关论文
共 50 条
  • [21] SOFTWARE REUSABILITY
    SIDOROV, NA
    CYBERNETICS, 1989, 25 (03): : 340 - 346
  • [22] Refactoring embedded software: A study in healthcare domain
    Smiari, Paraskevi
    Bibi, Stamatia
    Ampatzoglou, Apostolos
    Arvanitou, Elvira-Maria
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 143
  • [23] An Evaluative Study of Software Refactoring in Procedural Programming
    Khanam, Zeba
    Rizvi, S. A. M.
    WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, WCECS 2013, VOL I, 2013, I : 102 - 107
  • [24] Automated Refactoring of Software using Version History and a Code Element Recentness Measure
    Mohan, Michael
    Greer, Des
    PROCEEDINGS OF THE 13TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, 2018, : 455 - 462
  • [25] A probabilistic-based approach for automatic identification and refactoring of software code smells
    Saheb-Nassagh, Raana
    Ashtiani, Mehrdad
    Minaei-Bidgoli, Behrouz
    APPLIED SOFT COMPUTING, 2022, 130
  • [26] A systematic literature review: Refactoring for disclosing code smells in object oriented software
    Singh, Satwinder
    Kaur, Sharanpreet
    AIN SHAMS ENGINEERING JOURNAL, 2018, 9 (04) : 2129 - 2151
  • [27] Revisiting code reusability
    不详
    NATURE MACHINE INTELLIGENCE, 2022, 4 (10) : 801 - 801
  • [28] Revisiting code reusability
    Nature Machine Intelligence, 2022, 4 : 801 - 801
  • [29] Strengthening Refactoring: Towards Software Evolution with Quantitative and Experimental Grounds
    Bryton, Sergio
    Brito e Abreu, Fernando
    2009 FOURTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING ADVANCES (ICSEA 2009), 2009, : 570 - 575
  • [30] Improving Code Maintainability: A Case Study on the Impact of Refactoring
    Wahler, Michael
    Drofenik, Uwe
    Snipes, Will
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 493 - 501