ISSN (Print) : 0974-6846
Indian Journal of Science and Technology, Vol 10(3), DOI: 10.17485/ijst/2017/v10i3/109997, January 2017 ISSN (Online) : 0974-5645
Software Cost Estimation using Fuzzy Logic
Technique
Ravneet Preet Singh Bedi and Amardeep Singh
Department of Computer Engineering, Punjabi University, Patiala – 147002, Punjab, India;
bedirps2000@yahoo.com, amardeep_dhiman@yahoo.com
Abstract
Estimation of software development cost has been a challenging research area. Soft computing based techniques such as
fuzzy logic outperform traditionally used methods in terms of accuracy of estimation. The current research presents a
novel method that shows promising results. The results are compared with COCOMO technique and the accuracy level is
improved considerably. The proposed method is simple yet effective as it implements the technique using MATLAB’s fuzzy
logic toolbox.
Keywords: COCOMO, Efforts, Fuzzy Logic, Software
1. Introduction The current section of this paper introduces the
problem and solution technique. The remainder of this
Software engineering research deals with various aspects paper is organised as follows: The second section details
of software development. Cost estimation remains one the review of related literature, the third section provides
of the most critical areas of research due to the financial an insight to the proposed technique, the fourth section
aspects involved. Accuracy in terms of cost estimation is deals with the results of extensive experiments carried out
sought primarily because over pricing or under-pricing, and the fifth section concludes this discourse.
both can hurt the enterprise that is developing the soft-
ware. The special requirement of high accuracy leads the
research from orthodox techniques like CoCoMo I and 2. Literature Review
II1 etc. to more contemporary techniques such as neural Du et al.7 combine neuro-fuzzy model with SEER-SEM
network, data mining, genetic algorithms and neuro- technique to achieve an accuracy that is claimed to be 18%
fuzzy techniques. higher than its counterparts. Dizaji and Gharehchopogh8
One of the soft computing technique fuzzy logic2 is propose a technique which a unique blend of ant colony
very popular in terms of prediction or estimation tech- optimization and chaos optimization algorithms to con-
nique. There are a number of decision making applications trol the mare to 0.078 as compared to 0.29 for COCOMO.
available which employ fuzzy logic as a main tool. Fuzzy Shivakumar9 device a nuero-fuzzy technique to estimates
logic has been used for prediction in medical diagnosis3, software development efforts and are able to show prom-
political predictions4, sports5 and finance6 etc. ising results. But, the proposed technique is not very
This research paper highlights the use of fuzzy logic to suitable to large datasets. Literature shows the use of
predict or estimate the cost of software development to a augmented fuzzy logic for the purpose of estimation of
great accuracy. The dataset used for this research can be software development efforts. The work by Sharma and
found at the Promise repository18. It is a well-established Verma10 uses the Gaussian MFs and produce excellent
set of records pertaining to the factors that affect the cost results by managing the inaccuracy in inputs very well.
of software and the incurred cost, thereof. Also, their quality to adopt further helps them a right
*Author for correspondence
Software Cost Estimation using Fuzzy Logic Technique
selection for representing fuzzy sets. The framework is deal with the multi valued logic, uncertainty etc. but the
optimized in terms of flexibility in modifiable fuzzy sets simple system only concern with only two values 0 and 1.
as per the environment. Bhatnagar and Ghose11 developed By using this type of approach the development process
a new method that present alternatives for approximation work like the human based system and easily deal with
of the software development attempts, and in particu- the multilayer architecture throughout the development
lar, the Computational Intelligence (CI) that moots the of the software product. Kumar and Chopra17 present a
mechanisms of communication between humans and comparative analysis between the fuzzy logic system and
processes related information with the set aim of creat- the neural network. A model which results lesser MMRE
ing the Intelligent Systems (IS). Linear Regression Neural error is improved than that which gives higher MMRE
network has the smallest value for MMRE out of other error. Literature also suggests various other techniques
existing models. When compared with the fuzzy logic, it such as based on data mining19, genetic algorithms20, fuzzy
has been established that the fuzzy logic performs bet- grey relational analysis21,26, PSO22, use case points23, anal-
ter than the neural network models because of its lowest ogy based24,27 and support vector regression25 to improve
MMRE value. Sehra et.al.12 have developed numerous the accuracy of prediction of software efforts.
models for the approximation. But there is none approxi-
mation method that can give the best estimates in different
situations and every may be right choice in a special proj-
3. Proposed Technique
ect judgment but there is no evaluation method which can Soft computing is an area of research that deals with real
current the best estimates in a variety of situations and life problems in a more effective way, thus providing more
each method can be appropriate in the individual scheme. accurate results. This proposed work is based on using
The plan of their work is to examine soft computing Fuzzy Logic (FL) based technique to predict efforts to be
methods in the accessible models and to supply in depth spent on a given software development project. Figure 1
evaluation of software and project judgment techniques shows the proposed model used for estimation based on
accessible in industry and writing based on the unusual FL. The fuzzy inference system that is proposed in this
test datasets along with their power and weaknesses. Kad research work is based on Mamdani system. The model
and Chopra13 research; developed the soft computing requires five input parameters viz. Complexity, Data,
techniques to overcome the issues of uncertainty, partial Tool, loc (lines of code) and skills. There is one output
availability. When the developer understand the problem parameters named Estimate is used for the prediction of
of uncertainty and partial availability etc. the by using software efforts. The parameters are fuzzyfied using mem-
the technology of Fuzzy set like type-2, the researcher bership functions. Table 1 depicts the linguistic variables
easily develop the system. Potdar et. al.14 research gives associated with various fuzzy input/output parameters.
provided the brief introduction about the Algorithmic
cost models and the various advantage and disadvantage Table 1. Linguistic variables for input/output
related to this. It is not possible to say that which method parameters.
is best or which is worst, because each method has its
Input/output parameter Linguistic variables used
particular field where the developers use these methods.
Complexity Simple, Less, Medium, High,
The choice of the method is not depend upon particu-
Very High
lar thing it depend upon the number of condition, it is
Data Free, Low, Average, High
better to select the combination of methods for the par-
ticular application. Reddy and Raju15 research is mainly Tool Very Low, Low, Medium, High,
Very High
developed the cost estimation that is based on the neural
Loc Bare, Average, Very High
network. In their work they use the multilayer structure
of the neural network. The whole structure is work on Skills Novice, Average, Good, Expert
trained learning propagation method; the values that Estimate Low, Medium, High
are produce from the training set are compares with the
actual method to produce the correct results. Sharadan Based on the above linguistic variables, these input
and et.al.16 research problems concern with the use of the parameters are applied with four fuzzy rules. The fuzzy
fuzzy logic system, because fuzzy logic system are able to rules are defined as follows:
2 Vol 10 (3) | January 2017 | www.indjst.org Indian Journal of Science and Technology
Ravneet Preet Singh Bedi and Amardeep Singh
If (Complexity is Simple) and (Data is Free) and 4. Experimental Results
(Tool is low) and (loc is Bare) and (Skills is Avg) then
(Estimated is low) (1) Extensive experimentation has been done to assert the
If (Complexity is Less) and (Data is Low) and (Tool suitability of the proposed method as compared to exist-
is Medium) and (loc is Average) and (Skills is Good) then ing methods fond in the literature. The vast amount of data
(Estimated is High) (1) available through the dataset makes it relatively straight-
If (Complexity is Medium) and (Data is Average) and forward to experimentally analyse various available
(Tool is High) and (loc is VeryHigh) and (Skills is Expert) techniques. Table 2 shows the comparison of proposed
then (Estimated is High) (1) technique using fuzzy logic and existing COCOMO
If (Complexity is High) and (Data is High) and (Tool technique for various software projects randomly chosen
is VeryHigh) and (loc is Average) and (Skills is Good) then from the selected data set18. The results are also depicted
(Estimated is High) (1) pictorially using graph. The proposed technique succeeds
at giving accurate results (Figure 3).
Table 2. Comparison of Effort Estimation Results in
MRE.
Sl. No. MRE (%) MRE (%) using
using Proposed
COCOMO Technique
1. 18.6170 15.2470
2. 33.2460 25.6070
Figure 1. Proposed model for estimation of efforts using FL.
3. 38.8352 11.1520
The above model is capable of utilising all three input 4. 2.7500 0.4110
factors and apply predefined fuzzy rule base to get an
5. 27.3928 15.9128
accurate prediction of software efforts. The results thus
produced are compared with COCOMO II. COCOMO I 6. 25.9296 19.5800
& II lack the precision due to the reason that these mod- 7. 31.8756 1.0950
els do not consider all input parameters especially the
COCOMO I. The trouble with COCOMO II is that when 8. 26.1911 21.9050
applied to the records from Promise dataset18, it tends to MMRE(%) 25.6040 17.6130
misinterpret, both over as well as under. Whereas, the
proposed model when applied to the same dataset pro-
duce results that are very much aligned with the actual
results given with the records.
Figure 2 shows a screenshot of proposed FIS devel-
oped using Matlab 2015a.
Figure 3. Comparison of existing and enhanced results with
reference to actual values.
The percent MMRE (Mean Magnitude of Relative
Error) shown as the last row of Table 2 reiterates the point
made earlier. It shows that MMRE% of 17.613 as given
by proposed technique is far superior to the MMRE% of
Figure 2. Proposed Mamdani FIS developed using Matlab. 25.604 as given by well-established COCOMO technique.
Vol 10 (3) | January 2017 | www.indjst.org Indian Journal of Science and Technology 3
Software Cost Estimation using Fuzzy Logic Technique
The experiments show that the enhanced technique 10. Sharma V, Verma HK. Optimized Fuzzy Logic Based
clearly outperforms the existing one. Framework for Effort Estimation in Software Development,
International Journal of Computer Science Issues. 2010;
7(2):30−38.
5. Conclusion 11. Bhatnagar R, Ghose MK. Comparing Soft Computing
Techniques for Early Stage Software Development Effort
Software development effort estimation remains an area
Estimations, International Journal of Software Engineering
of research since long. Even the well-established and and Application. 2012; 3(2):119−27.
widely used technique named COCOMO fails to show 12. Sehra SK, Brar YS, Kaur N. Soft Computing Techniques for
acceptable accuracy. Results show that there is a need to Software Project Effort Estimation, International Journal
enhance the techniques to achieve acceptable accuracy. of Advanced Computer and Mathematical Science. 2011;
Soft computing based techniques show a great promise 2(3):160−67.
while calculating the estimates for efforts on software 13. Kad S, Vinay C. Fuzzy Logic Based Framework for Software
development. The result graphs show that the proposed Development Effort Estimation, International Journal of
technique result curve runs relatively very much closer to Engineering Science. 2011; 1:3330−342.
the actual curve as compared to the curve drawn for the 14. Potdar SM, Puri M, Potdar MP. Literature Survey on
existing technique. The results achieved using proposed Algorithmic Methods for Software Development Cost
technique encourage us to announce the suitability of the Estimation, International Journal of Computer Technology
proposed technique for estimation of software develop- and Application. 2014; 5(1):183−88.
ment efforts in software companies. 15. Reddy CS, Raju K. A Concise Neural Network Model for
Estimating Software Effort, International Journal of Recent
Trends in Engineering. 2009; 1(1):183−93.
6. References 16. Shradhanand AK, Satbir J. Use of Fuzzy Logic in Software
1. Boehm BW. Software Engineering Economics, Prentice- Development, Issues in Information Systems. 2007; 8(2).
Hall, Englewood Cliffs, NJ, 1994. 17. Kumar S, Chopra V. To Design and Implement Neural
2. Zadeh LA. Fuzzy Sets, Information and Control. 1965; Network and Fuzzy Logic for Software Development
8(3):338−53. Effort Prediction, International Journal of Computer
3. Mago, VK, Bhatia N, Bhatia A, Mago A. Clinical Decision Applications. 2013; 84(11).
Support System for Dental Treatment, Journal of 18. Boetticher G, Menzies T, Ostrand T. PROMISE Repository
Computational Science. 2012; 3(5):254−61. of Empirical Software Engineering Data, West Virginia
4. Singh H, Singh G, Bhatia N. Election Results Prediction University, Department of Computer Science. 2007. http://
System based on Fuzzy Logic, International Journal of promisedata.org/ repository.
Computer Applications. 2012; 53(9). 19. Dejaeger K, Verbeke W, Martens D, Baesens B. Data Mining
5. Singh G, Bhatia N, Singh S. Fuzzy Logic Based Cricket Techniques for Software Effort Estimation: A Comparative
Player Performance Evaluator, IJCA Special Issue on Study, IEEE Transactions on Software Engineering. 2012;
Artificial Intelligence Techniques-Novel Approaches and 38(2):375−97.
Practical Applications. 2011; 1(3):11−16. 20. Oliveira AL, Braga PL, Lima RM, Cornélio ML. GA-Based
6. Kumar S, Bhatia N, Kapoor N. Fuzzy logic based decision Method for Feature Selection and Parameters Optimization
support system for loan risk assessment. In Proceedings of for Machine Learning Regression Applied to Software
the International Conference on Advances in Computing Effort Estimation, Information and Software Technology.
and Artificial Intelligence, ACM. 2011, July; 179−82. 2010; 52(11):1155−66.
7. Du WL, Capretz LF, Nassif AB, Ho D. A Hybrid Intelligent 21. Azzeh M, Neagu D, Cowling PI. Fuzzy Grey Relational
Model for Software Cost Estimation, arXiv preprint Analysis for Software Effort Estimation, Empirical Software
arXiv:1512.00306. Engineering. 2010; 15(1):60−90.
8. Dizaji ZA, Gharehchopogh FS. A Hybrid of Ant Colony 22. Bardsiri VK, Jawawi DNA, Hashim SZM, Khatibi E. A
Optimization and Chaos Optimization Algorithms PSO-Based Model to Increase the Accuracy of Software
Approach for Software Cost Estimation, Indian Journal of Development Effort Estimation, Software Quality Journal.
Science and Technology. 2015; 8(2):128. 2013; 21(3):501−26.
9. Shivakumar N, Balaji N, Ananthakumar K. A Neuro Fuzzy 23. Ochodek M, Nawrocki J, Kwarciak K. Simplifying Effort
Algorithm to Compute Software Effort Estimation, Global Estimation Based on Use Case Points, Information and
Journal of Computer Science and Technology. 2016; 16(1). Software Technology. 2011; 53(3):200−13.
4 Vol 10 (3) | January 2017 | www.indjst.org Indian Journal of Science and Technology
Ravneet Preet Singh Bedi and Amardeep Singh
24. Azzeh M. A Replicated Assessment and Comparison 26. Song Q, Shepperd M. Predicting Software Project Effort:
of Adaptation Techniques for Analogy-based Effort A Grey Relational Analysis Based Method, Expert Systems
Estimation, Empirical Software Engineering. 2012; 17(1- with Applications, 2011; 38(6):7302−16.
2):90−127. 27. Idri A, Azzahra Amazal F, Abran A. Analogy-Based Software
25. Corazza A, Di Martino S, Ferrucci F, Gravino C, Sarro F, Development Effort Estimation: A Systematic Mapping
and Mendes E. Using Tabu Search to Configure Support and Review, Information and Software Technology. 2015;
Vector Regression for Effort Estimation, Empirical Software 58:206−23.
Engineering. 2013; 18(3):506−46.
Vol 10 (3) | January 2017 | www.indjst.org Indian Journal of Science and Technology 5