Bad smells are indicators of possible problems in software. Refactoring is usually undertaken to eradicate bad smells. Many studies have investigated the impact of bad smells on software quality, however, only a few have proposed methods to prioritize bad smells. The objective of this paper is to propose a model to prioritize bad smells based on their impact on software maintainability. We use the analytical hierarchy process (AHP) to prioritize bad smells based on their maintainability impact by measuring the code before and after refactoring. The model is validated against five bad smells and five open-source projects. In addition, a visualization of the relationships between classes’ maintainability and its bad smells’ ranking is presented. The prioritization model can help software practitioners in prioritizing their effort and better utilizing their resources. The proposed prioritization model provides an effective method to prioritize the impact of bad smells on maintainability and it can be extended to prioritize the impact of bad smells on other quality attributes.
Bibliographical noteFunding Information:
This research work is partially supported by King Abdulaziz City for Science & Technology (KACST) through project no. 1043-37 as well as the Deanship of Scientific Research of the King Fahd University of Petroleum and Minerals.
© 2021, King Fahd University of Petroleum & Minerals.
- Bad smell prioritization
- Software maintainability
ASJC Scopus subject areas