Optimized Refactoring Mechanisms to Improve Quality Characteristics in Object-Oriented Systems

被引:3
|
作者
Almogahed, Abdullah [1 ]
Mahdin, Hairulnizam [1 ]
Omar, Mazni [2 ]
Zakaria, Nur Haryani [2 ]
Muhammad, Ghulam [3 ]
Ali, Zulfiqar [4 ]
机构
[1] Univ Tun Hussein Onn Malaysia UTHM, Fac Comp Sci & Informat Technol, Parit Raja 86400, Johor, Malaysia
[2] Univ Utara Malaysia, Sch Comp, Sintok 06010, Malaysia
[3] King Saud Univ, Coll Comp & Informat Sci, Dept Comp Engn, Riyadh 11543, Saudi Arabia
[4] Univ Essex, Sch Comp Sci & Elect Engn, Colchester CO4 3SQ, England
关键词
Refactoring; refactoring methods; refactoring mechanisms; software metrics; softwarequality; software maintenance; SOFTWARE MAINTENANCE; CLASSIFICATION; BENEFITS; IMPACT;
D O I
10.1109/ACCESS.2023.3313186
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Refactoring has emerged as a predominant approach to augmenting software product quality. However, empirical evidence suggests that not all dimensions of software quality experience unending enhancements through refactoring. Current scholarly explorations reveal significant variances in the impacts of diverse refactoring methods, with potential adverse effects and contradictions surfacing concerning software quality. Consequently, such disparities render the advantages of refactoring contentious, culminating in challenges for software developers in the selection of optimal refactoring methods to ameliorate software quality. Existing literature lacks an in-depth exploration of the reasons behind the contrasting impacts of refactoring methods on quality enhancement or the development of refined protocols for employing these techniques. Therefore, this research aims to explore, identify, and fine-tune the utilization mechanisms of refactoring methods, empowering software developers to make informed choices for the enhancement of object-oriented systems' quality attributes. Ten commonly employed refactoring methods were singled out for this investigation, each executed independently across five case studies varying in scale (small, medium, and large). The Quality Model for Object-Oriented Design (QMOOD) was employed as the evaluation tool to ascertain the influence of refactoring techniques on quality attributes. The research outcomes denote that the multifarious impacts of refactoring methods on quality attributes are attributed to distinct usage mechanisms of the techniques. These insights assist software practitioners in discerning the optimal utilization of refactoring methods to ameliorate software quality, taking their mechanisms into account. Moreover, these outcomes furnish industry experts with prescriptive guidelines for employing refactoring methods to elevate the quality of object-oriented systems, predicated on the suitable mechanism.
引用
收藏
页码:99143 / 99158
页数:16
相关论文
共 50 条
  • [31] Change prediction in object-oriented software systems: A probabilistic approach
    Sharafat, Ali R.
    Tahvildari, Ladan
    Journal of Software, 2008, 3 (05) : 26 - 39
  • [32] On the computer aided introduction of design patterns into object-oriented systems
    Schulz, B
    Genssler, T
    Mohr, B
    Zimmer, W
    TOOLS 27: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES, PROCEEDINGS, 1998, : 258 - 267
  • [33] ENTROPY OF SOME CK METRICS TO ASSESS OBJECT-ORIENTED SOFTWARE QUALITY
    Turnu, Ivana
    Concas, Giulio
    Marchesi, Michele
    Tonelli, Roberto
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2013, 23 (02) : 173 - 188
  • [34] A change impact model for changeability assessment in object-oriented software systems
    Chaumun, MA
    Kabaili, H
    Keller, RK
    Lustman, F
    PROCEEDINGS OF THE THIRD EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, 1999, : 130 - 138
  • [35] Measuring Coupling in Object-Oriented Software Systems: Developer's Perspective
    Rodrigues, Bruno
    Souza, Daniel
    Figueiredo, Eduardo
    ABAKOS, 2014, 3 (01): : 3 - 17
  • [36] A change impact model for changeability assessment in object-oriented software systems
    Chaumun, MA
    Kabaili, H
    Keller, RK
    Lustman, F
    SCIENCE OF COMPUTER PROGRAMMING, 2002, 45 (2-3) : 155 - 174
  • [37] Refactoring packages of object-oriented software using genetic algorithm based community detection technique
    Pan, Weifeng
    Jiang, Bo
    Xu, Youyang
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2013, 48 (03) : 185 - 194
  • [38] A tool for measuring inheritance coupling in object-oriented systems
    AlGhamdi, J
    Elish, M
    Ahmed, M
    INFORMATION SCIENCES, 2002, 140 (3-4) : 217 - 227
  • [39] Investigating the evolution of code smells in object-oriented systems
    Chatzigeorgiou, Alexander
    Manakos, Anastasios
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2014, 10 (01) : 3 - 18
  • [40] Five Object-Oriented Design Principles to Improve the Quality of Self-Adaptivity Using MAPE Loops
    Raibulet, Claudia
    2016 IEEE 1ST INTERNATIONAL WORKSHOPS ON FOUNDATIONS AND APPLICATIONS OF SELF* SYSTEMS (FAS*W), 2016, : 96 - 97