Application of Fuzzy Logic Approach to Software Effort Estimation in the Present Paper, Software Development Effort Prediction Using Fuzzy Triangular Membership Function and Gbell Membership Function Is Implemented and Compared with Cocomo. a Case Study Based on the Asa93 Dataset Compares the Propos

— The most significant activity in software project management is Software development effort prediction. The literature shows several algorithmic cost estimation models such as Boehm's COCOMO, Albrecht's' Function Point Analysis, Putnam's SLIM, ESTIMACS etc., but each model do have their own pros and cons in estimating development cost and effort. This is because project data, available in the initial stages of project is often incomplete, inconsistent, uncertain and unclear. The need for accurate effort prediction in software project management is an ongoing challenge. A fuzzy model is more apt when the systems are not suitable for analysis by conventional approach or when the available data is uncertain, inaccurate or vague. Fuzzy logic is a convenient way to map an input space to an output space. Fuzzy Logic is based on fuzzy set theory. A fuzzy set is a set without a crisp, clearly defined boundary. It is characterized by a membership function, which associates with each point in the fuzzy set a real number in the interval [0, 1], called degree or grade of membership. The membership functions may be Triangular, GBell, Gauss and Trapezoidal etc. provided better results than the other models.


INTRODUCTION
In algorithmic cost estimation [1], costs and efforts are predicted using mathematical formulae.The formulae are derived based on some historical data [2,19].The best known algorithmic cost model called COCOMO (COnstructive COst MOdel) was published by Barry Boehm in 1981 [3].It was developed from the analysis of sixty three (63) software projects.Boehm projected three levels of the model called Basic COCOMO, Intermediate COCOMO and Detailed COCOMO [3,5].In the present paper we mainly focus on the Intermediate COCOMO.

A. Intermediate COCOMO
The Basic COCOMO model [3] is based on the relationship: Development Effort, DE = a*(SIZE) b ; where, SIZE is measured in thousand delivered source instructions.The constants a, b are dependent upon the 'mode' of development of projects.DE is measured in man-months.Boehm proposed 3 modes of projects [3]: a) Organic mode -simple projects that engage small teams working in known and stable environments.b) Semi-detached mode -projects that engage teams with a mixture of experience.It is in between organic and embedded modes.c) Embedded mode -complex projects that are developed under tight constraints with changing requirements.
The accuracy of Basic COCOMO is limited because it does not consider the factors like hardware, personnel, use of modern tools and other attributes that affect the project cost.Further, Boehm proposed the Intermediate COCOMO [3,4] that adds accuracy to the Basic COCOMO by multiplying 'Cost Drivers' into the equation with a new variable: EAF (Effort Adjustment Factor) shown in Table I.

Development mode Intermediate Effort Equation
Organic DE = EAF * 3.2 * (SIZE) 1.05   Semi-detached DE = EAF * 3.0 * (SIZE) 1.12   Embedded DE = EAF * 2.8 * (SIZE) 1.2   The EAF term is the product of 15 Cost Drivers [5,11] that are listed in Table II  Depending on the projects, multipliers of the cost drivers will vary and thereby the EAF may be greater than or less than 1, thus affecting the Effort [5].

II. FUZZY IDENTIFICATION
A fuzzy model [13,15] is used when the systems are not suitable for analysis by conventional approach or when the available data is uncertain, inaccurate or vague [7].The point of Fuzzy logic is to map an input space to an output space using a list of if-then statements called rules.All rules are evaluated in parallel, and the order of the rules is unimportant.For writing the rules, the inputs and outputs of the system are to be identified.To obtain [18] a fuzzy model from the data available, the steps to be followed are, • Select a Sugeno type Fuzzy Inference System.
• Define the input variables mode, size and output variable effort.

• Set the type of the membership functions (TMF or
GBellMF) for input variables.
• Set the type of the membership function as linear for output variable.• The data is now translated into a set of if-then rules written in Rule editor.• A certain model structure is created, and parameters of input and output variables can be tuned to get the desired output.

A. Fuzzy Approach for Prediction of Effort
The Intermediate COCOMO model data is used for developing the Fuzzy Inference System (FIS) [10].The inputs to this system are MODE and SIZE.The output is Fuzzy Nominal Effort.The framework [8] is shown in "Fig.1".Fuzzy approach [9] specifies the SIZE of a project as a range of possible values rather than a specific number.The MODE of development is specified as a fuzzy range .The advantage of using the fuzzy ranges [14] is that we will be able to predict the effort for projects that do not come under a precise mode i.e. comes in between 2 modes.This situation cannot be handled using the COCOMO.The output of this FIS is the Fuzzy Nominal Effort.The Fuzzy Nominal Effort multiplied by the EAF gives the Estimated Effort.The FIS [16] needs appropriate membership functions and rules.

B. Fuzzy Membership Functions
A membership function (MF) [9,12] is a curve that defines how each point in the input space is mapped to a membership value (or degree of membership) between 0 and 1.The input space is also called as the universe of discourse.For our problem, we have used 2 types of membership functions:

Triangular membership function (TMF):
It is a three-point function [17], defined by minimum (α),Maximum (β) and modal (m) values, that is, TMF (α, m, β), where (α ≤ m ≤β).The parameters α and β locate the "feet" of the triangle and the parameter m locates the peak.The triangular curve is a function of a vector, x, and depends on three scalar parameters α, m, and β as given by Please refer to "Fig.2" for a sample triangular membership function.The fuzzy set definitions for the MODE of development appear in "Fig.3" and the fuzzy set [8] for SIZE appear in "Fig.4".We can get the Fuzzy sets for MODE, SIZE and Effort for GBellMF in the same way as in triangular method, but the difference is only in the shape of the curves.

C. Fuzzy Rules
Our rules based on the fuzzy sets [9 and EFFORT appears in the following form:

III. VARIOUS CRITERIONS FOR A EFFORT
a) Variance Accounted For (VAF) Prediction at level n is defined as the % of projects that have absolute relative error less than n.

e) Balance Relative Error (BRE)
We can get the Fuzzy sets for MODE, SIZE and Effort for GBellMF in the same way as in triangular method, but the difference is only in the shape of the curves.
Our rules based on the fuzzy sets [9,20] of MODE, SIZE and EFFORT appears in the following form:

Mean Absolute Relative Error (MARE) (4)
Variance Absolute Relative Error (VARE) (5) Prediction at level n is defined as the % of projects that have absolute relative error less than n.(6) 100 Where, E = Estimated effort E ˆ = Actual effort

Absolute Relative Error (RE) = f) Mean Magnitude of Relative Error (MMRE)
Where N = No. of Projects, E = Estimated effort, E ˆ A model which gives higher VAF is better than that which gives lower VAF.A model which gives higher Pred(n) is better than that which gives lower Pred(n).A model which gives lower MARE is better than that which gives higher MARE [11 12].A model which gives lower VARE is better than that which gives higher VARE [6].A model which is having less MMRE is better than the model which is having higher MMRE.A model which gives lower BRE is better than that which gives higher BRE.A model which gives lower MM is better than that which gives higher MMRE.

IV. EXPERIMENTAL STUDY
In carrying out our experiments, we have chosen 93 projects of the NASA 93 dataset.The estimated efforts using Intermediate COCOMO, Fuzzy using TMF and GBellMF are shown in Table III.Table IV and "Fig.6" to the comparisons of various models basing on different criterions.

E ˆ = Actual effort
A model which gives higher VAF is better than that which gives lower VAF.A model which gives higher Pred(n) is better than that which gives lower Pred(n).A model which gives lower MARE is better than that which gives higher MARE [11, ives lower VARE is better than that which gives higher VARE [6].A model which is having less MMRE is better than the model which is having higher MMRE.A model which gives lower BRE is better than that which gives higher BRE.A model which gives lower MMRE TUDY In carrying out our experiments, we have chosen 93 projects of the NASA 93 dataset.The estimated efforts using Intermediate COCOMO, Fuzzy using TMF and GBellMF are to "Fig.12" shows the comparisons of various models basing on different      4, we see that Fuzzy using TMF yields better results for maximum criterions when compared with the other methods.Thus, basing on VAF, MMRE, VARE, MARE, Pred(30) & Mean BRE, we come to a conclusion that the Fuzzy method using TMF (triangular membership function) is better than Fuzzy method using GBellMF or Intermediate COCOMO.It is not possible to evolve a method, which can give 100 % VAF.By suitably adjusting the values of the parameters in FIS we can optimize the estimated effort.Referring to Table 4, we see that Fuzzy using TMF yields better results for maximum criterions when compared with the other methods.Thus, basing on VAF, MMRE, VARE, MARE, Pred(30) & Mean BRE, we come to a conclusion that the ular membership function) is better than Fuzzy method using GBellMF or Intermediate COCOMO.It is not possible to evolve a method, which can give 100 % VAF.By suitably adjusting the values of the parameters in FIS we can optimize the estimated effort.

Figure 2 :
Figure 2: A Sample Triangular Membership Function

Figure 5 :
Figure 5: A Sample Generalized Bell

Figure 7 :
Figure 7: Estimated Effort using Various Models versus Actual Effort

Figure 9 :Figure 10 :
Figure 9: Comparison of VARE against various models

(
IJACSA) International Journal of Advanced Computer Science and Applications, www.ijacsa.thesai.org

Figure 9 :Figure 10 :
Figure 9: Comparison of VARE against various models

Figure 11 :
Figure 11: Comparison of MMRE against various models

Figure 12 :
Figure 12: Comparison of Pred (30) % against various models . The multipliers of the cost drivers are Very Low, Low, Nominal, High, Very High and Extra High.For example, for a project, if RELY is Low, DATA is High , CPLX is extra high, TIME is Very High, STOR is High and rest parameters are nominal then EAF = 0.75 * 1.08 * 1.65 *1.30*1.06*1.0.If the category values of all the 15 cost drivers are "Nominal", then EAF is equal to 1.

TABLE II .
INTERMEDIATE COCOMO COST DRIVERS WITH MULTIPLIERS

TABLE III .
ESTIMATED EFFORT IN MAN MONTHS OF V

TABLE IV .
COMPARISON OF VARIOUS ActualFigure 6: Estimated Effort using Fuzzy-TriMF versus Actual EffortFigure 7: Estimated Effort using Various Models versus Actual Effort OMPARISON OF VARIOUS MODELS Figure 8: Comparison of VAF & MARE against various models