Support Vector Regression for Predicting the Enhancement Duration of Software Projects

Software engineering (SE) has been defined as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. Enhancement is a type of software maintenance. SE involves software planning (SP), and SP includes prediction. In this study, we propose the application of two types of support vector regression (SVR) termed ε-SVR and ν-SVR to predict the duration of the software enhancement. A SVR is a type of support vector machine, which is a machine learning technique. Two data sets of software projects were used for training and testing the ε-SVR and ν-SVR. The prediction accuracy of the SVRs was compared to that of a statistical regression. Based on statistical tests, results showed that a ε-SVR with linear kernel was statistically better than that of a statistical regression model when software projects were enhanced on Mid Range platform and coded in programming languages of third generation.

[1]  Hans van Vliet,et al.  Predicting maintenance effort with function points , 1997, 1997 Proceedings International Conference on Software Maintenance.

[2]  Liguo Yu Indirectly predicting the maintenance effort of open-source software , 2006, J. Softw. Maintenance Res. Pract..

[3]  Paolo Nesi,et al.  Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems , 2001, IEEE Trans. Software Eng..

[4]  Doo-Hwan Bae,et al.  An Approach to Probabilistic Effort Estimation for Military Avionics Software Maintenance by Considering Structural Characteristics , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[5]  Silvio Romero de Lemos Meira,et al.  Software Effort Estimation Using Machine Learning Techniques with Robust Confidence Intervals , 2007, 19th IEEE International Conference on Tools with Artificial Intelligence(ICTAI 2007).

[6]  Arun Kumar Misra,et al.  Estimating software maintenance effort: a neural network approach , 2008, ISEC '08.

[7]  Bernhard Schölkopf,et al.  New Support Vector Algorithms , 2000, Neural Computation.

[8]  Silvio Romero de Lemos Meira,et al.  Bagging Predictors for Estimation of Software Project Effort , 2007, 2007 International Joint Conference on Neural Networks.

[9]  D. Edwards Data Mining: Concepts, Models, Methods, and Algorithms , 2003 .

[10]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[11]  Amrit L. Goel,et al.  Empirical Data Modeling in Software Engineering Using Radical Basis Functions , 2000, IEEE Trans. Software Eng..

[12]  Filomena Ferrucci,et al.  Applying support vector regression for web effort estimation using a cross-company dataset , 2009, ESEM 2009.

[13]  Linda G. Wallace,et al.  Understanding developer and manager perceptions of function points and source lines of code , 2009, J. Syst. Softw..

[14]  Richard E. Fairley,et al.  Software Engineering Body of Knowledge (SWEBOK) , 2019 .

[15]  M. F. Fuller,et al.  Practical Nonparametric Statistics; Nonparametric Statistical Inference , 1973 .

[16]  Tshilidzi Marwala,et al.  Dynamic Software Maintenance Effort Estimation Modeling Using Neural Network, Rule Engine and Multi-regression Approach , 2012, ICCSA.

[17]  Emilia Mendes,et al.  Applying support vector regression for web effort estimation using a cross-company dataset , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[18]  Sandip C. Patel,et al.  A metrics-based software maintenance effort model , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[19]  Yoav Goldberg,et al.  splitSVM: Fast, Space-Efficient, non-Heuristic, Polynomial Kernel Computation for NLP Applications , 2008, ACL.

[20]  Hareton K. N. Leung,et al.  Estimating Maintenance Effort by Analogy , 2002, Empirical Software Engineering.

[21]  Barry W. Boehm,et al.  A controlled experiment in assessing and estimating software maintenance tasks , 2011, Inf. Softw. Technol..

[22]  Ricardo Massa Ferreira Lima,et al.  GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation , 2010, Inf. Softw. Technol..

[23]  Michel R. V. Chaudron,et al.  An Empirical Study into the Accuracy of IT Estimations and its Influencing Factors , 2013, Int. J. Softw. Eng. Knowl. Eng..

[24]  Emilia Mendes,et al.  How effective is Tabu search to configure support vector regression for effort estimation? , 2010, PROMISE '10.

[25]  Adriano Lorena Inácio de Oliveira,et al.  Estimation of software project effort with support vector regression , 2006, Neurocomputing.

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

[27]  Andrea De Lucia,et al.  Assessing effort estimation models for corrective maintenance through empirical studies , 2005, Inf. Softw. Technol..

[28]  Ralf Herbrich,et al.  Learning Kernel Classifiers: Theory and Algorithms , 2001 .

[29]  Charles Symons Exploring Software Project Effort versus Duration Trade-offs , 2012, IEEE Software.

[30]  Thong Ngee Goh,et al.  A study of project selection and feature weighting for analogy based software cost estimation , 2009, J. Syst. Softw..

[31]  Silvio Romero de Lemos Meira,et al.  Software Effort Estimation using Machine Learning Techniques with Robust Confidence Intervals , 2007, 7th International Conference on Hybrid Intelligent Systems (HIS 2007).

[32]  Meir M. Lehman,et al.  Metrics of software evolution as effort predictors - a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[33]  Tzvi Raz,et al.  Comparison of estimation methods of cost and duration in IT projects , 2009, Inf. Softw. Technol..

[34]  Alain Abran,et al.  Developing Project Duration Models in Software Engineering , 2007, Journal of Computer Science and Technology.

[35]  Magne Jørgensen,et al.  Experience With the Accuracy of Software Maintenance Task Effort Prediction Models , 1995, IEEE Trans. Software Eng..

[36]  Cuauhtemoc Lopez-Martin Predictive accuracy comparison between neural networks and statistical regression for development effort of software projects , 2015 .

[37]  Young-Chan Lee,et al.  Bankruptcy prediction using support vector machine with optimal choice of kernel function parameters , 2005, Expert Syst. Appl..

[38]  Alain Abran,et al.  Neural networks for predicting the duration of new software projects , 2015, J. Syst. Softw..

[39]  Christopher J. Lokan,et al.  The usage of ISBSG data fields in software effort estimation: A systematic mapping study , 2016, J. Syst. Softw..

[40]  Hyunsoo Kim,et al.  The software maintenance project effort estimation model based on function points , 2003, J. Softw. Maintenance Res. Pract..

[41]  Chih-Jen Lin,et al.  LIBSVM: A library for support vector machines , 2011, TIST.

[42]  Jing Du,et al.  Estimating software maintenance effort from use cases: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[43]  Emilia Mendes,et al.  Investigating the use of Support Vector Regression for web effort estimation , 2011, Empirical Software Engineering.

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

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

[46]  Chin-Yu Huang,et al.  Comparison of weighted grey relational analysis for software effort estimation , 2011, Software Quality Journal.