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 条
  • [21] Object-oriented COBOL: The old, the bad and the ugly?
    Dedene, G
    TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS - TOOLS 34, PROCEEDINGS, 2000, : 489 - 490
  • [22] 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
  • [23] 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
  • [24] 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
  • [25] Predicting stability of classes in an object-oriented system
    Azar, D.
    Harmanani, H.
    Korkmaz, R.
    JOURNAL OF COMPUTATIONAL METHODS IN SCIENCES AND ENGINEERING, 2010, 10 (1-2 SUPPL. 1) : S39 - S49
  • [26] Fuzzy classes in object-oriented logic programming
    Baldwin, JF
    Martin, TP
    FUZZ-IEEE '96 - PROCEEDINGS OF THE FIFTH IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS, VOLS 1-3, 1996, : 1358 - 1364
  • [27] A MODEL FOR VERSIONING OF CLASSES IN OBJECT-ORIENTED DATABASES
    MONK, SR
    SOMMERVILLE, I
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 618 : 42 - 58
  • [28] Allocation of Classes in distributed object-oriented databases
    Lee, Soon-Mi
    Ha, Yan
    Park, Hea-Sook
    SNPD 2009: 10TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCES, NETWORKING AND PARALLEL DISTRIBUTED COMPUTING, PROCEEDINGS, 2009, : 237 - 242
  • [29] A cohesion measure for classes in object-oriented systems
    Chae, HS
    Kwon, YR
    FIFTH INTERNATIONAL SOFTWARE METRICS SYMPOSIUM - METRICS 1998, PROCEEDINGS, 1998, : 158 - 166
  • [30] Reconsidering Classes in Procedural Object-Oriented Code
    Bhatti, Muhammad Usman
    Ducasse, Stephane
    Huchard, Marianne
    FIFTEENTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2008, : 257 - +