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 条
  • [31] Improving code maintainability: A case study on the impact of refactoring
    Wahler, Michael
    Drofenik, Uwe
    Snipes, Will
    Proceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016, 2017, : 493 - 501
  • [32] Influence of Model Refactoring on Code Debt: A Replicated Study
    Silva Freire, Emmanuel Savio
    Passos, Amanda Ferraz de O.
    Sant'Anna, Claudio
    Spinola, Rodrigo Oliveira
    De Mendonca Neto, Manoel G.
    PROCEEDINGS OF THE XXXIII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2019, 2019, : 452 - 456
  • [33] Constructing Relationship Between Software Metrics and Code Reusability in Object Oriented Design
    Manoj, H. M.
    Nandakumar, A. N.
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2016, 7 (02) : 429 - 438
  • [34] Multi-Criteria Code Refactoring Using Search-Based Software Engineering: An Industrial Case Study
    Ouni, Ali
    Kessentini, Marouane
    Sahraoui, Houari
    Inoue, Katsuro
    Deb, Kalyanmoy
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2016, 25 (03)
  • [35] A survey of software refactoring
    Mens, T
    Tourwé, T
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (02) : 126 - 139
  • [36] Refactoring for software migration
    Mancl, D
    IEEE COMMUNICATIONS MAGAZINE, 2001, 39 (10) : 88 - 93
  • [37] An Approach for Source Code Classification Using Software Metrics and Fuzzy Logic to Improve Code Quality with Refactoring Techniques
    Lerthathairat, Pornchai
    Prompoon, Nakornthip
    SOFTWARE ENGINEERING AND COMPUTER SYSTEMS, PT 3, 2011, 181 : 478 - 492
  • [38] Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
    Ju Qian
    Lin Chen
    BaoWen Xu
    Science China Information Sciences, 2013, 56 : 1 - 20
  • [39] An Empirical Study to Assess the Effects of Refactoring on Software Maintainability
    Malhotra, Ruchika
    Chug, Anuradha
    2016 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2016, : 110 - 117
  • [40] Software Code Bloats and Security Identification Model Based on Mikado Methodology: a Refactoring Practice
    Gandomani, Taghi Javdani
    Sichani, Hamid Shabani
    Neysiani, Behzad Soleimani
    JORDAN JOURNAL OF ELECTRICAL ENGINEERING, 2023, 9 (02): : 125 - 148