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

J N Gichuru, W Mwangi, M Kanyaru

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.  

References



Full Text: PDF