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 条
  • [41] Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
    QIAN Ju
    CHEN Lin
    XU BaoWen
    ScienceChina(InformationSciences), 2013, 56 (01) : 78 - 97
  • [42] Exploring the Impact of Clone Refactoring on Test Code Size in Object-Oriented Software
    Badri, Mourad
    Badri, Linda
    Hachemane, Oussama
    Ouellet, Alexandre
    2017 16TH IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA), 2017, : 586 - 592
  • [43] Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
    Qian Ju
    Chen Lin
    Xu BaoWen
    SCIENCE CHINA-INFORMATION SCIENCES, 2013, 56 (01) : 1 - 20
  • [44] On preserving the behavior in software refactoring: A systematic mapping study
    AlOmar, Eman Abdullah
    Mkaouer, Mohamed Wiem
    Newman, Christian
    Ouni, Ali
    INFORMATION AND SOFTWARE TECHNOLOGY, 2021, 140
  • [45] An empirical study of refactoring decisions in embedded software and systems
    Dersten, Sara
    Axelsson, Jakob
    Froberg, Joakim
    CONFERENCE ON SYSTEMS ENGINEERING RESEARCH, 2012, 8 : 279 - 284
  • [46] CLASSIFYING SOFTWARE FOR REUSABILITY
    PRIETODIAZ, R
    FREEMAN, P
    IEEE SOFTWARE, 1987, 4 (01) : 6 - 16
  • [47] SOFTWARE REUSABILITY IN AUSTRALIA
    VERSCHOOR, R
    LOW, G
    AUSTRALIAN COMPUTER JOURNAL, 1994, 26 (04): : 134 - 142
  • [48] Energy Efficiency Analysis of Code Refactoring Techniques for Green and Sustainable Software in Portable Devices
    Sanlialp, Ibrahim
    Oeztuerk, Muhammed Maruf
    Yigit, Tuncay
    ELECTRONICS, 2022, 11 (03)
  • [49] On preserving the behavior in software refactoring: A systematic mapping study
    AlOmar, Eman Abdullah
    Mkaouer, Mohamed Wiem
    Newman, Christian
    Ouni, Ali
    Information and Software Technology, 2021, 140
  • [50] An Empirical Study on the Effect of the Order of Applying Software Refactoring
    Khrishe, Yahya
    Alshayeb, Mohammad
    2016 7TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY (CSIT), 2016,