# FUZZY MODEL BASED ON SOFTWARE QUALITY METRICS WHICH ESTIMATES SOFTWARE MAINTAINABILITY

### Abstract

This study proposes a prediction model built on fuzzy logic technology to estimate the maintainability of a

software product. This research is guided by two objectives: First is to establish the factors that determine

software maintainability at source-code level and the metrics that capture these factors. Second is to

establish a means of combining these metrics and weigh them against each other. The outcomes of these

objectives are presented as well as a discussion of knowledge modeling using fuzzy logic. The development of

this model is based on the fact that maintainability like other software quality facets can be described in

terms of a hierarchy. This hierarchy consists of factors, attributes and metrics. The model captures factors

that determine maintainability at source-code level as articulated by various attributes. Three metrics which

quantify these attributes are then considered as input parameters to the model. These metrics are average

cyclomatic complexity, average number of live variables and the average life span of variables. Fuzzy logic is

then used to weigh the metrics against each other and combine them into one output value which is the

estimated software maintainability. This work is a contribution to the on-going research aimed at establishing

a means to quantify maintainability of software. It is also an improvement to the much criticized

maintainability index (MI), the identified measure so far