Duplex output software effort estimation model with self-guided interpretation

Abstract Context Software effort estimation (SEE) plays a key role in predicting the effort needed to complete software development task. However, the conclusion instability across learners has affected the implementation of SEE models. This instability can be attributed to the lack of an effort classification benchmark that software researchers and practitioners can use to facilitate and interpret prediction results. Objective To ameliorate the conclusion instability challenge by introducing a classification and self-guided interpretation scheme for SEE. Method We first used the density quantile function to discretise the effort recorded in 14 datasets into three classes ( high, low and moderate ) and built regression models for these datasets. The results of the regression models were an effort estimate, termed output 1 , which was then classified into an effort class, termed output 2. We refer to the models generated in this study as duplex output models as they return two outputs. The introduced duplex output models trained with the leave-one-out cross validation and evaluated with MAE, BMMRE and adjusted R 2 , can be used to predict both the software effort and the class of software effort estimate. Robust statistical tests (Welch's t- test and Kruskal-Wallis H -test) were used to examine the statistical significant differences in the models’ prediction performances. Results We observed the following: (1) the duplex output models not only predicted the effort estimates, they also offered a guide to interpreting the effort expended; (2) incorporating the genetic search algorithm into the duplex output model allowed the sampling of relevant features for improved prediction accuracy; and (3) ElasticNet, a hybrid regression, provided superior prediction accuracy over the ATLM, the state-of-the-art baseline regression. Conclusion The results show that the duplex output model provides a self-guided benchmark for interpreting estimated software effort. ElasticNet can also serve as a baseline model for SEE.

[1]  R. O’Brien,et al.  A Caution Regarding Rules of Thumb for Variance Inflation Factors , 2007 .

[2]  Burak Turhan,et al.  A Comparison of Cross-Versus Single-Company Effort Prediction Models for Web Projects , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  Stephen G. MacDonell,et al.  Data quality in empirical software engineering: a targeted review , 2013, EASE '13.

[4]  D. Ross Jeffery,et al.  Analogy-X: Providing Statistical Inference to Analogy-Based Software Cost Estimation , 2008, IEEE Transactions on Software Engineering.

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

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

[7]  Emilia Mendes,et al.  Further comparison of cross-company and within-company effort estimation models for Web applications , 2004 .

[8]  Pearl Brereton,et al.  Robust Statistical Methods for Empirical Software Engineering , 2017, Empirical Software Engineering.

[9]  Jane You,et al.  Correlated Logistic Model With Elastic Net Regularization for Multilabel Image Classification , 2016, IEEE Transactions on Image Processing.

[10]  Sheldon H. Jacobson,et al.  An application of the branch, bound, and remember algorithm to a new simple assembly line balancing dataset , 2014, Eur. J. Oper. Res..

[11]  Jacky W. Keung,et al.  A Stratification and Sampling Model for Bellwether Moving Window , 2017, SEKE.

[12]  Chandan Kumar,et al.  Software defects estimation using metrics of early phases of software development life cycle , 2017, Int. J. Syst. Assur. Eng. Manag..

[13]  Siti Zaiton Mohd Hashim,et al.  A flexible method to estimate the software development effort based on the classification of projects and localization of comparisons , 2013, Empirical Software Engineering.

[14]  Tim Menzies,et al.  Special issue on repeatable results in software engineering prediction , 2012, Empirical Software Engineering.

[15]  Emilia Mendes,et al.  Investigating the use of duration-based moving windows to improve software effort prediction: A replicated study , 2014, Inf. Softw. Technol..

[16]  Xin Yao,et al.  Software effort estimation as a multiobjective learning problem , 2013, TSEM.

[17]  Huan Liu,et al.  A Probabilistic Approach to Feature Selection - A Filter Solution , 1996, ICML.

[18]  Jose Miguel Puerta,et al.  Fast wrapper feature subset selection in high-dimensional datasets by means of filter re-ranking , 2012, Knowl. Based Syst..

[19]  Emilia Mendes,et al.  Why comparative effort prediction studies may be invalid , 2009, PROMISE '09.

[20]  Y. Baghzouz,et al.  Genetic-Algorithm-Based Optimization Approach for Energy Management , 2013, IEEE Transactions on Power Delivery.

[21]  Emilia Mendes,et al.  Bayesian Network Models for Web Effort Prediction: A Comparative Study , 2008, IEEE Transactions on Software Engineering.

[22]  David Notkin,et al.  Editorial—looking back , 2013, TSEM.

[23]  Peter Bühlmann Regression shrinkage and selection via the Lasso: a retrospective (Robert Tibshirani): Comments on the presentation , 2011 .

[24]  Thomas W. MacFarland,et al.  Kruskal–Wallis H-Test for Oneway Analysis of Variance (ANOVA) by Ranks , 2016 .

[25]  H. Zou,et al.  Regularization and variable selection via the elastic net , 2005 .

[26]  Sun-Jen Huang,et al.  The adjusted analogy-based software effort estimation based on similarity distances , 2007, J. Syst. Softw..

[27]  Peter A. Whigham,et al.  A Baseline Model for Software Effort Estimation , 2015, TSEM.

[28]  Tim Menzies,et al.  Kernel methods for software effort estimation , 2011, Empirical Software Engineering.

[29]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[30]  Tim Menzies,et al.  On the value of combining feature subset selection with genetic algorithms: faster learning of coverage models , 2009, PROMISE '09.

[31]  Tim Menzies,et al.  On the Value of Ensemble Effort Estimation , 2012, IEEE Transactions on Software Engineering.

[32]  Fu-Hsiang Chen,et al.  An alternative model for the analysis of detecting electronic industries earnings management using stepwise regression, random forest, and decision tree , 2016, Soft Comput..

[33]  Doo-Hwan Bae,et al.  On the value of outlier elimination on software effort estimation research , 2012, Empirical Software Engineering.

[34]  Stephen G. MacDonell,et al.  Investigating the Significance of Bellwether Effect to Improve Software Effort Estimation , 2017, 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS).

[35]  C. Willmott,et al.  Advantages of the mean absolute error (MAE) over the root mean square error (RMSE) in assessing average model performance , 2005 .

[36]  Sousuke Amasaki,et al.  On the effectiveness of weighted moving windows: Experiment on linear regression based software effort estimation , 2015, J. Softw. Evol. Process..

[37]  Akito Monden,et al.  A stability assessment of solution adaptation techniques for analogy-based software effort estimation , 2017, Empirical Software Engineering.

[38]  Abbas Heiat,et al.  Comparison of artificial neural network and regression models for estimating software development effort , 2002, Inf. Softw. Technol..

[39]  Magne Jørgensen,et al.  An analysis of data sets used to train and validate cost prediction systems , 2005, PROMISE '05.

[40]  Tim Menzies,et al.  oftware effort models should be assessed via leave-one-out validation , 2013 .

[41]  Shari Lawrence Pfleeger,et al.  An empirical study of maintenance and development estimation accuracy , 2002, J. Syst. Softw..

[42]  Jacky W. Keung,et al.  Multi-Objective Optimization for Software Testing Effort Estimation , 2016, SEKE.

[43]  Eibe Frank,et al.  Large-scale attribute selection using wrappers , 2009, 2009 IEEE Symposium on Computational Intelligence and Data Mining.

[44]  Tim Menzies,et al.  Feature subset selection can improve software cost estimation accuracy , 2005, ACM SIGSOFT Softw. Eng. Notes.

[45]  Bart Baesens,et al.  Data Mining Techniques for Software Effort Estimation: A Comparative Study , 2012, IEEE Transactions on Software Engineering.

[46]  Xin Yao,et al.  The impact of parameter tuning on software effort estimation using learning machines , 2013, PROMISE.

[47]  Marco Torchiano,et al.  Assessing the Effect of Screen Mockups on the Comprehension of Functional Requirements , 2014, TSEM.

[48]  Emilia Mendes,et al.  Applying moving windows to software effort estimation , 2009, ESEM 2009.

[49]  Giovanni Felici,et al.  Integer programming models for feature selection: New extensions and a randomized solution algorithm , 2016, Eur. J. Oper. Res..

[50]  Andrew P. Hodges,et al.  Prediction of kinase inhibitor response using activity profiling, in vitro screening, and elastic net regression , 2013, BMC Systems Biology.

[51]  Barry W. Boehm,et al.  Negative results for software effort estimation , 2016, Empirical Software Engineering.

[52]  Emilia Mendes,et al.  Investigating the use of moving windows to improve software effort prediction: a replicated study , 2017, Empirical Software Engineering.

[53]  Tim Menzies,et al.  Heterogeneous Defect Prediction , 2015, IEEE Transactions on Software Engineering.

[54]  Stephen G. MacDonell,et al.  Evaluating prediction systems in software project estimation , 2012, Inf. Softw. Technol..

[55]  Min Xie,et al.  An empirical analysis of data preprocessing for machine learning-based software cost estimation , 2015, Inf. Softw. Technol..

[56]  Emilia Mendes,et al.  Using tabu search to configure support vector regression for effort estimation , 2013, Empirical Software Engineering.

[57]  Burak Turhan,et al.  On the dataset shift problem in software engineering prediction models , 2011, Empirical Software Engineering.

[58]  Lefteris Angelis,et al.  Using Ensembles for Web Effort Estimation , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[59]  Stephen G. MacDonell,et al.  A Taxonomy of Data Quality Challenges in Empirical Software Engineering , 2013, 2013 22nd Australian Software Engineering Conference.

[60]  Tim Menzies,et al.  Transfer learning in effort estimation , 2015, Empirical Software Engineering.

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

[62]  Sousuke Amasaki,et al.  A replication study on the effects of weighted moving windows for software effort estimation , 2016, EASE.

[63]  Tim Menzies,et al.  Too much automation? The bellwether effect and its implications for transfer learning , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[64]  R. Cook Detection of influential observation in linear regression , 2000 .

[65]  Tim Menzies,et al.  Active learning and effort estimation: Finding the essential content of software effort estimation data , 2013, IEEE Transactions on Software Engineering.

[66]  Trevor Hastie,et al.  Regularization Paths for Generalized Linear Models via Coordinate Descent. , 2010, Journal of statistical software.

[67]  Y. Miyazaki,et al.  Robust regression for developing software estimation models , 1994, J. Syst. Softw..

[68]  Mark Harman,et al.  Multi-objective Software Effort Estimation , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[69]  P. Holland,et al.  Robust regression using iteratively reweighted least-squares , 1977 .

[70]  Tim Menzies,et al.  How to Find Relevant Data for Effort Estimation? , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[71]  Ali Borji,et al.  Salient Object Detection: A Benchmark , 2015, IEEE Transactions on Image Processing.

[72]  R. Tibshirani,et al.  Regression shrinkage and selection via the lasso: a retrospective , 2011 .

[73]  A. E. Hoerl,et al.  Ridge regression: biased estimation for nonorthogonal problems , 2000 .

[74]  Tim Menzies,et al.  Finding conclusion stability for selecting the best effort predictor in software effort estimation , 2012, Automated Software Engineering.

[75]  Ingunn Myrtveit,et al.  Validity and reliability of evaluation procedures in comparative studies of effort prediction models , 2011, Empirical Software Engineering.

[76]  Shlomo Zilberstein,et al.  LAO*: A heuristic search algorithm that finds solutions with loops , 2001, Artif. Intell..

[77]  R. L. Eubank,et al.  A Density-Quantile Function Approach to Optimal Spacing Selection , 1981 .