A survey on UML model smells detection techniques for software refactoring

Haris Mumtaz, Mohammad Alshayeb*, Sajjad Mahmood, Mahmood Niazi

*Corresponding author for this work

Research output: Contribution to journalReview articlepeer-review

22 Scopus citations

Abstract

Bad smells tend to have a negative impact on software by degrading its quality. It is beneficial to detect model smells to avoid their propagation to later stages of software development. The objective of this paper is to present the state-of-the-art research on techniques for detecting UML model bad smells. The detection techniques are compared and evaluated using a proposed evaluation framework. The framework consists of two parts. The first part of the framework compares the techniques in terms of the implemented approach, the investigated model, and the explored model smells, while the experimental design is explored in the second part of the framework. We found that the detection of bad smells in class and sequence diagrams is accomplished via design patterns, software metrics, and predefined rules, while model smells in use cases are detected using metrics and predefined rules. We also found that the class diagram is the most investigated UML model in the context of model smell detection, whereas there is a lack of work on other UML models. In addition, there is a scarcity of independent studies on sequence diagrams. Furthermore, the studies investigating class diagrams are mostly validated, whereas use case diagrams and sequence diagrams are rarely validated.

Original languageEnglish
Article numbere2154
JournalJournal of software: Evolution and Process
Volume31
Issue number3
DOIs
StatePublished - Mar 2019

Bibliographical note

Publisher Copyright:
© 2019 John Wiley & Sons, Ltd.

Keywords

  • bad smell detection
  • maintainability
  • model bad smells
  • software refactoring

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'A survey on UML model smells detection techniques for software refactoring'. Together they form a unique fingerprint.

Cite this