Probabilistic size proxy for software effort prediction: A framework

Software effort prediction is an important and challenging activity that takes place during the early stages of software development, where costing is needed. Software size estimate is one of the most popular inputs for software effort prediction models. Accordingly, providing a size estimate with good accuracy early in the lifecycle is very important; it is equally challenging too. Estimates that are computed early in the development lifecycle, when it is needed the most, are typically associated with uncertainty. However, none of the prominent software effort prediction techniques or software size metrics addresses this issue satisfactorily. In this paper, we propose a framework for developing probabilistic size proxies for software effort prediction using information from conceptual UML models created early in the software development lifecycle. The framework accounts for uncertainty in software size and effort prediction by providing the estimate as a probability density function instead of a certain value. We conducted a case study using open source datasets and the results were encouraging.

[1]  Lionel C. Briand,et al.  A replicated assessment and comparison of common software cost modeling techniques , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[3]  Genny Tortora,et al.  Class point: an approach for the size estimation of object-oriented systems , 2005, IEEE Transactions on Software Engineering.

[4]  Phillip G. Armour Beware of counting LOC , 2004, CACM.

[5]  Martin J. Shepperd,et al.  Search Heuristics, Case-based Reasoning And Software Project Effort Prediction , 2002, GECCO.

[6]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[7]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[8]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[9]  T.-H. Nguyen,et al.  Mapping the OO-Jacobson approach into function point analysis , 1997, Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages.

[10]  Moataz A. Ahmed,et al.  A study on the uncertainty inherent in class cohesion measurements , 2011, J. Syst. Archit..

[11]  Zeeshan Muzaffar,et al.  Handling imprecision and uncertainty in software development effort prediction: A type-2 fuzzy logic based framework , 2009, Inf. Softw. Technol..

[12]  Miguel-Ángel Sicilia,et al.  An empirical study of process-related attributes in segmented software cost-estimation relationships , 2006, J. Syst. Softw..

[13]  Danny Ho,et al.  A new calibration for Function Point complexity weights , 2008, Inf. Softw. Technol..

[14]  Kaushal K. Shukla,et al.  Neuro-genetic prediction of software development effort , 2000, Inf. Softw. Technol..

[15]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[16]  Magne Jørgensen,et al.  Practical Guidelines for Expert-Judgment-Based Software Effort Estimation , 2005, IEEE Softw..

[17]  A. S. M. Sajeev,et al.  A Vector-Based Approach to Software Size Measurement and Effort Estimation , 2001, IEEE Trans. Software Eng..

[18]  Kenneth A. Bollen,et al.  Regression Diagnostics , 1985 .

[19]  S. Kanmani,et al.  Neural Network Based Effort Estimation Using Class Points for OO Systems , 2007, 2007 International Conference on Computing: Theory and Applications (ICCTA'07).

[20]  Magne Jørgensen,et al.  A framework for the analysis of software cost estimation accuracy , 2006, ISESE '06.

[21]  Shari Lawrence Pfleeger,et al.  Software Cost Estimation and Sizing Methods, Issues, and Guidelines , 2005 .

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

[23]  Charles R. Symons,et al.  Function Point Analysis: Difficulties and Improvements , 1988, IEEE Trans. Software Eng..

[24]  Silvia Regina Vergilio,et al.  Software Effort Estimation Based on Use Cases , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[25]  Günther Ruhe,et al.  A comparative study of attribute weighting heuristics for effort estimation by analogy , 2006, ISESE '06.

[26]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[27]  Heejun Park,et al.  An empirical validation of a neural network model for software effort estimation , 2008, Expert Syst. Appl..

[28]  Danny Ho,et al.  An investigation of using Neuro-Fuzzy with software size estimation , 2009, 2009 ICSE Workshop on Software Quality.

[29]  C. Yau,et al.  Assessing the fuzziness of general system characteristics in estimating software size , 1994, Proceedings of ANZIIS '94 - Australian New Zealnd Intelligent Information Systems Conference.

[30]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

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

[32]  Patricia Vilain,et al.  Software Estimation Based on Use Case Size , 2010, 2010 Brazilian Symposium on Software Engineering.

[33]  K. Hamdan,et al.  A bayesian belief network cost estimation model that incorporates cultural and project leadership factors , 2009, 2009 IEEE Symposium on Industrial Electronics & Applications.

[34]  Moataz A. Ahmed,et al.  Software development effort prediction: A study on the factors impacting the accuracy of fuzzy logic systems , 2010, Inf. Softw. Technol..

[35]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[36]  Bente Anda Comparing Effort Estimates Based on Use Case Points with Expert Estimates , 2002 .

[37]  Gustav Karner,et al.  Resource Estimation for Objectory Projects , 2010 .

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

[39]  Ken Kelley,et al.  Sample size for multiple regression: obtaining regression coefficients that are accurate, not simply significant. , 2003, Psychological methods.

[40]  Robert J. Kauffman,et al.  An Empirical Test of Object-Based Output Measurement Metrics in a Computer Aided Software Engineering (Case) Environment , 1991, J. Manag. Inf. Syst..

[41]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[42]  Magne Jørgensen Top-down and bottom-up expert estimation of software development effort , 2004, Inf. Softw. Technol..

[43]  M. Ahmed,et al.  Towards adaptive soft computing based software effort prediction , 2004, IEEE Annual Meeting of the Fuzzy Information, 2004. Processing NAFIPS '04..

[44]  Ayse Basar Bener,et al.  AI-Based Models for Software Effort Estimation , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[45]  Yong-Ji Wang,et al.  Software Development Effort Estimation Using Fuzzy Logic - A Survey , 2008, 2008 Fifth International Conference on Fuzzy Systems and Knowledge Discovery.

[46]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[47]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[48]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

[49]  Martin Dick,et al.  Automating the Estimation of Project Size from Software Design Tools Using Modified Function Points , 2004, ACE.

[50]  Parag C. Pendharkar,et al.  A probabilistic model for predicting software development effort , 2003, IEEE Transactions on Software Engineering.

[51]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[52]  Douglas E. Miller,et al.  Prediction and Statistical Overkill Revisited. , 1973 .

[53]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[54]  K. M. Furulund,et al.  Increasing Software Effort Estimation Accuracy Using Experience Data, Estimation Models and Checklists , 2007 .

[55]  Robert E. Park,et al.  Software Size Measurement: A Framework for Counting Source Statements , 1992 .

[56]  Shinji Kusumoto,et al.  Function-point analysis using design specifications based on the Unified Modelling Language , 2001, J. Softw. Maintenance Res. Pract..

[57]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[58]  Moshood Omolade Saliu,et al.  Soft Computing Based Effort Prediction Systems — A Survey , 2004 .

[59]  Nasib S. Gill,et al.  Software size prediction before coding , 2004, SOEN.

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

[61]  Michael M. Richter,et al.  A flexible method for software effort estimation by analogy , 2007, Empirical Software Engineering.