Reusability affecting factors and software metrics for reusability: a systematic literature review

Bilal Mehboob, Chun Yong Chong, Sai Peck Lee, Joanne Mun Yee Lim

Research output: Contribution to journalReview ArticleResearchpeer-review

16 Citations (Scopus)

Abstract

Measuring and estimating the reusability of software components is important towards finding reusable candidates. Researchers have shown that software metrics can be effectively used to assess software reusability. This work provides a systematic literature review to investigate the main factors that influence software reusability and how these identified factors can be quantified using software metrics. This paper also investigates tool availability of the identified software metrics. Based on the extensive study, we narrowed down 44 factors that could positively or negatively affect the reusability of software systems. In term of software metrics, we report our findings through five main families of metrics, namely coupling, cohesion, complexity, inheritance, and size. We found that most of the metrics examine reusability at the class-level, and the availability of software tools is limited. Furthermore, not all reusability affecting factors are equally impactful to assess the reusability of software components. While existing studies often discussed the impact of complexity towards software reusability, we found that only a handful of complexity metrics were meant for assessing reusability. We have identified several open challenges and gaps in the area, in particular lack of quantifiable measurement for reusability, limited software tools, and limited metrics that directly measure reusability.

Original languageEnglish
Pages (from-to)1416-1458
Number of pages43
JournalSoftware: Practice and Experience
Volume51
Issue number6
DOIs
Publication statusPublished - Jun 2021

Keywords

  • reusability affecting factors
  • software metrics
  • software quality
  • software reusability
  • systematic literature review

Cite this