Exploiting bad-smells and object-oriented characteristics to prioritize classes for refactoring

被引:5
|
作者
Malhotra, Ruchika [1 ]
Singh, Priya [1 ]
机构
[1] Delhi Technol Univ, Dept Software Engn, Delhi 110042, India
关键词
Bad-smells; Refactoring methods; Object-oriented characteristics; Software quality; Software maintenance; OPPORTUNITIES; QUALITY;
D O I
10.1007/s13198-020-01001-x
中图分类号
T [工业技术];
学科分类号
08 ;
摘要
Bad-smell indicates code-design flaws and poor software-quality that weaken software design and inversely affects software development. It also works as a catalyst for bugs and failures in the software system. Refactoring methods are used by software practitioners as corrective actions for bad-smells. The problem relies in the fact that there are over seventy refactoring methods available in literature and multiple refactoring methods can be used to nullify the effect of a particular bad-smell. So, it becomes very difficult to apply refactoring on complete source-code and almost impossible if software size is dramatically large. Thus, there arises a need for prioritizing classes in some way. This study aims at applying refactoring solution to only severely affected classes to improve the overall software quality. We proposed a framework that detects a small subset of classes from the entire source-code instantly require refactoring. This prioritization of classes is based on two factors-severity of the presence of bad-smells and object-oriented characteristics. The approach is evaluated on eight open-source Java software systems using ten most common bad-smells and six widely known C&K metrics. Both these factors help in calculating a new metric Quality Depreciation Index Rule (QDIR) that exposes those classes that are highly affected by bad-smells and demand an immediate refactoring solution. Results of the empirical study indicate that QDIR is an effective metric to remove bad-smells in an environment of stringent time constraints and limited cost making the maintenance of software system easier and effective with enhanced software quality.
引用
收藏
页码:133 / 144
页数:12
相关论文
共 31 条
  • [1] Exploiting bad-smells and object-oriented characteristics to prioritize classes for refactoring
    Ruchika Malhotra
    Priya Singh
    International Journal of System Assurance Engineering and Management, 2020, 11 : 133 - 144
  • [2] A Catalogue of Model Smells and Refactoring Operations for Object-Oriented Software
    Sidhu, Brahmaleen K.
    Singh, Kawaljeet
    Sharma, Neeraj
    PROCEEDINGS OF THE 2018 SECOND INTERNATIONAL CONFERENCE ON INVENTIVE COMMUNICATION AND COMPUTATIONAL TECHNOLOGIES (ICICCT), 2018, : 313 - 319
  • [3] Optimized Refactoring Mechanisms to Improve Quality Characteristics in Object-Oriented Systems
    Almogahed, Abdullah
    Mahdin, Hairulnizam
    Omar, Mazni
    Zakaria, Nur Haryani
    Muhammad, Ghulam
    Ali, Zulfiqar
    IEEE ACCESS, 2023, 11 : 99143 - 99158
  • [4] 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
  • [5] An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution
    Li, Wei
    Shatnawi, Raed
    JOURNAL OF SYSTEMS AND SOFTWARE, 2007, 80 (07) : 1120 - 1128
  • [6] Refactoring UML Models of Object-Oriented Software: A Systematic Review
    Sidhu, Brahmaleen K.
    Singh, Kawaljeet
    Sharma, Neeraj
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2018, 28 (09) : 1287 - 1319
  • [7] Analysis of Refactoring Effect on Software Quality of Object-Oriented Systems
    Malhotra, Ruchika
    Jain, Juhi
    INTERNATIONAL CONFERENCE ON INNOVATIVE COMPUTING AND COMMUNICATIONS, VOL 2, 2019, 56 : 197 - 212
  • [8] An approach to prioritize the regression test cases of object-oriented programs
    Chhabi Rani Panigrahi
    Rajib Mall
    CSI Transactions on ICT, 2013, 1 (2) : 159 - 173
  • [9] Predicting move method refactoring opportunities in object-oriented code
    Al Dallal, Jehad
    INFORMATION AND SOFTWARE TECHNOLOGY, 2017, 92 : 105 - 120
  • [10] A Review on Software Refactoring Opportunity Identification and Sequencing in Object-oriented Software
    Kaur, Satnam
    Awasthi, Lalit K.
    Sangal, Amrit L.
    RECENT ADVANCES IN ELECTRICAL & ELECTRONIC ENGINEERING, 2021, 14 (03) : 252 - 267