A Hybrid Software Cost Estimation Approach Utilizing Decision Trees and Fuzzy Logic

Software cost estimation (SCE) is one of the critical activities in software project management. During the past decades various models have been proposed for SCE. However, developing accurate and useful models is limited in practice despite the considerable financial gain they could offer to software stakeholders. Traditional techniques, such as regression, by-analogy and machine learning, face the difficulty of handling the dynamic nature of the software process and the problematic nature of the public data available. This paper addresses the issue of SCE proposing an alternative approach that combines robust decision tree structures with fuzzy logic. Fuzzy decision trees are generated using the CHAID and CART algorithms in a systematic manner, while development effort is treated as the dependent variable against two subsets of factors: The first contains selected attributes from the ISBSG, COCOMO and DESHARNAIS datasets and the second contains a subset of the available factors that can be measured early in the development cycle. The association rules obtained from the trees are then merged and defuzzified through a Fuzzy Implication System (FIS). The fuzzy framework is utilized to perform effort estimations. Experimental results indicate that the proposed approach is promising as it yields quite accurate estimations in most dataset cases considered. Finally, our evaluation suggests that accurate estimations may be produced, even when using only a small set of factors that can be measured early in the development cycle, thus increasing the practical value of the proposed cost model.

[1]  Colin J Burgess,et al.  Can genetic programming improve software effort estimation? A comparative evaluation , 2001, Inf. Softw. Technol..

[2]  Ioannis Stamelos,et al.  Combining probabilistic models for explanatory productivity estimation , 2008, Inf. Softw. Technol..

[3]  Victor R. Basili,et al.  A Pattern Recognition Approach for Software Engineering Data Analysis , 1992, IEEE Trans. Software Eng..

[4]  Ware Myers,et al.  Measures for Excellence: Reliable Software on Time, Within Budget , 1991 .

[5]  Madan M. Gupta,et al.  Fuzzy automata and decision processes , 1977 .

[6]  Ricardo Valerdi Cognitive Limits of Software Cost Estimation , 2007, ESEM 2007.

[7]  Peter I. Cowling,et al.  Fuzzy grey relational analysis for software effort estimation , 2010, Empirical Software Engineering.

[8]  Andreas S. Andreou,et al.  Classification and Prediction of Software Cost through Fuzzy Decision Trees , 2009, ICEIS.

[9]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[10]  Siew Hock Ow Improving the Accuracy of Software Cost Estimation Model Based on a New Fuzzy Logic Model , 2010 .

[11]  Stephen G. MacDonell,et al.  A comparison of techniques for developing predictive models of software metrics , 1997, Inf. Softw. Technol..

[12]  Alain Abran,et al.  A fuzzy logic based set of measures for software project similarity: validation and possible improvements , 2001, Proceedings Seventh International Software Metrics Symposium.

[13]  Witold Pedrycz,et al.  Software cost estimation with fuzzy models , 2000, SIAP.

[14]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[15]  Andreas S. Andreou,et al.  Software Cost Estimation using Fuzzy Decision Trees , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[16]  Moataz A. Ahmed,et al.  Adaptive fuzzy logic-based framework for software development effort prediction , 2005, Inf. Softw. Technol..

[17]  Stephen G. MacDonell,et al.  Applications of fuzzy logic to software metric models for development effort estimation , 1997, 1997 Annual Meeting of the North American Fuzzy Information Processing Society - NAFIPS (Cat. No.97TH8297).

[18]  Lionel C. Briand,et al.  Modeling Development Effort in Object-Oriented Systems Using Design Properties , 2001, IEEE Trans. Software Eng..

[19]  Daniel Neagu,et al.  Improving analogy software effort estimation using fuzzy feature subset selection algorithm , 2008, PROMISE '08.

[20]  Magne Jørgensen,et al.  Better sure than safe? Over-confidence in judgement based software development effort prediction intervals , 2004, J. Syst. Softw..

[21]  Sun-Jen Huang,et al.  Fuzzy Decision Tree Approach for Embedding Risk Assessment Information into Software Cost Estimation Model , 2006, J. Inf. Sci. Eng..

[22]  Todd Little,et al.  Schedule estimation and uncertainty surrounding the cone of uncertainty , 2006, IEEE Software.

[23]  Alain Abran,et al.  COCOMO cost model using fuzzy logic , 2000 .

[24]  Louis Wehenkel,et al.  A complete fuzzy decision tree technique , 2003, Fuzzy Sets Syst..

[25]  Silvia Regina Vergilio,et al.  Using fuzzy theory for effort estimation of object-oriented software , 2004, 16th IEEE International Conference on Tools with Artificial Intelligence.

[26]  Linda A. Macaulay,et al.  A Rule-Based Approach to Developing Software Development Prediction Models , 1998, Automated Software Engineering.

[27]  Frederick P. Brooks,et al.  Three great challenges for half-century-old computer science , 2003, JACM.

[28]  Isabella Wieczorek,et al.  Resource Estimation in Software Engineering , 2002 .

[29]  G. V. Kass An Exploratory Technique for Investigating Large Quantities of Categorical Data , 1980 .

[30]  Mrinal K. Ghose,et al.  A Proposed Novel Framework for Early Effort Estimation using Fuzzy Logic Techniques , 2010 .

[31]  Rubo Zhang,et al.  Evaluation Model of Software Cost Estimation Methods Based on Fuzzy-Grey Theory , 2009, 2009 Fourth International Conference on Internet Computing for Science and Engineering.

[32]  Harish Mittal,et al.  Software cost estimation using fuzzy logic , 2010, ACM SIGSOFT Softw. Eng. Notes.

[33]  Taghi M. Khoshgoftaar,et al.  Identification of fuzzy models of software cost estimation , 2004, Fuzzy Sets Syst..

[34]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[35]  Jing Ren,et al.  A neuro-fuzzy model for software cost estimation , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[36]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[37]  Barbara A. Kitchenham,et al.  A Simulation Study of the Model Evaluation Criterion MMRE , 2003, IEEE Trans. Software Eng..

[38]  Barry W. Boehm,et al.  Achievements and Challenges in Cocomo-Based Software Resource Estimation , 2008, IEEE Software.

[39]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[40]  Keith Phalp,et al.  An investigation of machine learning based prediction systems , 2000, J. Syst. Softw..