A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches For Software Reusability Evaluation
A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches For Software Reusability Evaluation
A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches For Software Reusability Evaluation
342
World Academy of Science, Engineering and Technology 39 2008
have devised the framework of metrics that uses McCabe’s • Calculate the Output of the fuzzy Inference System
Cyclometric Complexity Measure for Complexity corresponding to the Input set
measurement, Regularity Metric, Halstead Software Science • Treat FIS value and the Nearest Match Value as
Indicator for Volume indication, Reuse Frequency metric and Chromosome and convert the values into Binary after
Coupling Metric values of the software component as input multiplying the values with 100
attributes and calculated reusability of the software • Perform the cross over of the Values at a Particular
component. Here, comparative analysis of the fuzzy, Neuro- Point
fuzzy and Fuzzy-GA approaches is performed. • Compare the results
II. METHODOLOGY USED 4. Select the best approach from the step 3 and make
Reusability evaluation System for function Based Software reusability evaluation model for the function based software
Components can be framed using following steps: components.
1. A framework of metrics is proposed for structural analysis
of function-based components [12]. The set of metrics are III. RESULTS AND DISCUSSION
able to target all the essential attributes of function-based The proposed Fuzzy and Neuro-fuzzy based methodology is
software as mentioned by Selby [13] in his latest findings, implemented in MATLAB 7.2. MATLAB (Matrix
so we analyzed, refined and used the following metrics of to Laboratory) environment is one such facility which lends a
explore different structural dimensions of a component: high performance language for technical computing. The
Fuzzy-GA implementation is done in C programming
• Cyclometric Complexity Using Mc Cabe’s Measure [14], language. Fuzzy inference is the process of formulating the
• Regularity Metric[15]
mapping from a given input to an output using fuzzy logic.
• Halstead Software Science Indicator[16]
The mapping then provides a basis from which decisions can
• Reuse Frequency Metric[15]
be made. Following figure gives the snap shot of MATLAB
• Lack of Coupling Metric[12].
window while using FIS editor for 5 inputs and 1 output.
2. Parse the software to generate the Meta information related
to the above Software Metrics. .
3. Evaluate the following approaches for the Modeling of the
reusability data provided in the step 2.
a)Fuzzy Based approach: The steps of the fuzzy based
approach are:
• Deciding the Membership functions
• optimized selection of initial rule-base for the Fuzzy
Inference System (FIS)
• Perform the Inference
• Calculate the % accuracy of the results
b) Neuro-fuzzy based approach: The steps for the Neuro-
Fuzzy based are as follows:
• Build Fuzzy Inference System as discussed in fuzzy
based approach
• Load the Training data NF system with the training
data Fig. 1 Fuzzy Inference System with 5 input and 1 output
• Training of the NF based system is performed using
a hybrid learning algorithm using both least squares Using a given input/output data set, the toolbox function
method and back-propagation. In the forward pass anfis constructs a fuzzy inference system whose membership
the consequent parameters are identified using least function parameters are tuned or adjusted using either a back-
squares and in the backward pass the premise propagation algorithm alone, or in combination with a least
parameters are identified using back-propagation. squares type of method. This allows the fuzzy systems to learn
• After traing pahse the trained NF system is tested from the data they are modeling.
with the testing data
• In the testing phase the results are expressed in terms
of % accuracy
c) Hybrid fuzzy-GA based approach: The steps of the
hybrid fuzzy-GA algorithm are:
• Read the input as the metric values
• Find the nearest match with Example data using
Euclidean Distance
343
World Academy of Science, Engineering and Technology 39 2008
Table I shows the 15 data values taken from the data 3 1 2 2 1 3 2.49 0.17 0.45 2.48
provided by the different companies to calculate the
percentage error and to discuss about the accuracy of the fuzzy 2 3 2 1 3 6 3.51 0.415 0.9 3.48
logic output and the Neuro-fuzzy output. The fuzzy based
inference system and Neuro-fuzzy system are evaluated on the 1 3 3 2 3 4 1.5 0.625 1.46 1.48
basis of percentage error. The calculations for average output
344
World Academy of Science, Engineering and Technology 39 2008
IV. CONCLUSION
Fuzzy–GA hybrid algorithm is proved to be best as
compared to the other algorithms considered in this work. In
such data search application the design and developed fuzzy
GA code has shown its superiority because it includes the
advantages of fuzzy as well as genetic algorithms. Fuzzy
provides a robust inference mechanism with no learning and
adaptability while on the other hand, the genetic algorithms
provide an efficient data modification in the wake of
optimization objectives of given application. Neuro-fuzzy
algorithm is definitely superior to fuzzy algorithm as it inherits
adaptability and learning but seriously lacks optimal nature.
From the simulation and the result obtained, it has been shown
that the percentage average error is least in the case of fuzzy-
GA algorithms and maximum in the case of fuzzy algorithms.
Neuro-fuzzy algorithm has yielded accuracy lying between the
accuracy levels as in the case of fuzzy and fuzzy-GA
algorithms. It is concluded that for non linear and complex
345