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

被引:4
|
作者
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
相关论文
共 50 条
  • [41] LP-structures analysis: Substantiation of refactoring in object-oriented programming
    Makhortov, S. D.
    Shurlin, M. D.
    AUTOMATION AND REMOTE CONTROL, 2013, 74 (07) : 1211 - 1217
  • [42] Advanced clone-analysis to support object-oriented system refactoring
    Balazinska, M
    Merlo, E
    Dagenais, M
    Lagüe, B
    Kontogiannis, K
    SEVENTH WORKING CONFERENCE ON REVERSE ENGINEERING - PROCEEDINGS, 2000, : 98 - 107
  • [43] 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
  • [44] Tool-supported refactoring of existing object-oriented code into aspects
    Binkley, David
    Ceccato, Mariano
    Harman, Mark
    Ricca, Filippo
    Tonella, Paolo
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (09) : 698 - 717
  • [45] Coalgebraic reasoning about classes in object-oriented languages
    Jacobs, Bart
    Electronic Notes in Theoretical Computer Science, 1998, 11 : 231 - 242
  • [46] Analyzing the Power of Classes in an Object-Oriented Software System
    Wang, Muchou
    INTERNATIONAL CONFERENCE ON GRAPHIC AND IMAGE PROCESSING (ICGIP 2011), 2011, 8285
  • [47] Key Classes in Object-Oriented Systems: Detection and Assessment
    Vale, Liliane do Nascimento
    Maia, Marcelo de Almeida
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2019, 29 (10) : 1439 - 1463
  • [48] VIRTUAL CLASSES - A POWERFUL MECHANISM IN OBJECT-ORIENTED PROGRAMMING
    MADSEN, OL
    MOLLERPEDERSEN, B
    SIGPLAN NOTICES, 1989, 24 (10): : 397 - 406
  • [49] A systematic literature review on the detection of smells and their evolution in object-oriented and service-oriented systems
    Sabir, Fatima
    Palma, Francis
    Rasool, Ghulam
    Gueheneuc, Yann-Gael
    Moha, Naouel
    SOFTWARE-PRACTICE & EXPERIENCE, 2019, 49 (01): : 3 - 39
  • [50] A Logic Based Approach to Locate Composite Refactoring Opportunities in Object-Oriented Code
    Jebelean, Calin
    Chirila, Ciprian-Bogdan
    Cretu, Vladimir
    PROCEEDINGS OF 2010 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION, QUALITY AND TESTING, ROBOTICS (AQTR 2010), VOLS. 1-3, 2010,