Abstract:
Maintenance is the last stage of software development life cycle. A software cost
estimation model is an indirect measure, which is used to estimate the cost of a project.
Maintenance cost is directly determined by the number of people involved in the
maintenance process and hours each person invests in the maintenance tasks.
Artificial Neural Network is used in cost estimation due to its ability to learn from
previous data. In a fuzzy logic tool, values are given as input and output is calculated
by using a set of rules defined in rule base and fuzzy operators. This research aims to
analyze neural networks and fuzzy logic machine learning techniques for estimating
software maintenance cost between the period 2010- 2020 and compare the techniques
based on magnitude of relative error (MRE), Mean magnitude of relative error (MMRE)
and percentage relative error deviation within x PRED(X) accuracy estimators. Millions
of companies expend huge financial resources for development and maintenance of
software yet still many projects result in failure causing heavy financial losses. Major
reason is the inefficient effort estimation techniques which are not suitable for the
current development methods. This paper presents a comparative literature review on
software cost estimation for neural networks and fuzzy logic techniques. The evaluation
consists of comparing the accuracy of the estimated effort with the actual effort based
on Magnitude of Relative Error (MRE), Mean Magnitude of Relative Error (MMRE and
PRED(x). The findings show artificial neural networks provide efficient results when
dealing with problems of complex relationship between inputs and outputs. Fuzzy
logic-based cost estimation models are more appropriate when vague and imprecise
information is to be accounted for. Neither neural networks nor fuzzy logic techniques
should be used in isolation but rather a combination of the two technique should be
used to arrive at accurate cost estimate.