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 条
  • [21] The impact of accounting for special methods in the measurement of object-oriented class cohesion on refactoring and fault prediction activities
    Al Dallal, Jehad
    JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (05) : 1042 - 1057
  • [22] Determination of optimum refactoring sequence for maximizing the maintainability of object-oriented systems using machine learning algorithms
    Tarwani, Sandhya
    Chug, Anuradha
    INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2025, 16 (02) : 651 - 666
  • [23] An Empirical Study of Bagging and Boosting Ensembles for Identifying Faulty Classes in Object-Oriented Software
    Aljamaan, Hamoud I.
    Elish, Mahmoud O.
    2009 IEEE SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DATA MINING, 2009, : 187 - 194
  • [24] On the ability of complexity metrics to predict fault-prone classes in object-oriented systems
    Zhou, Yuming
    Xu, Baowen
    Leung, Hareton
    JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (04) : 660 - 674
  • [25] Categorisation-based approach for predicting the fault-proneness of object-oriented classes in software post-releases
    Al Dallal, Jehad
    IET SOFTWARE, 2020, 14 (05) : 525 - 534
  • [26] Enhancing Software Maintenance via Early Prediction of Fault-Prone Object-Oriented Classes
    Bassey, Isong
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2017, 27 (04) : 515 - 537
  • [27] A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
    Al Dallal, Jehad
    Briand, Lionel C.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2012, 21 (02)
  • [28] Identifying key classes in object-oriented software using generalized k-core decomposition
    Pan, Weifeng
    Song, Beibei
    Li, Kangshun
    Zhang, Kejun
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2018, 81 : 188 - 202
  • [29] Mining software change data stream to predict changeability of classes of object-oriented software system
    Parashar, Anshu
    Chhabra, Jitender Kumar
    EVOLVING SYSTEMS, 2016, 7 (02) : 117 - 128
  • [30] Deriving Thresholds of Object-Oriented Metrics to Predict Defect-Proneness of Classes: A Large-Scale Meta-analysis
    Mei, Yuanqing
    Rong, Yi
    Liu, Shiran
    Guo, Zhaoqiang
    Yang, Yibiao
    Lu, Hongmin
    Tang, Yutian
    Zhou, Yuming
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2023, 33 (05) : 651 - 695