A novel online supervised hyperparameter tuning procedure applied to cross-company software effort estimation

Empirical Software Engineering - Tập 24 - Trang 3153-3204 - 2019
Leandro L. Minku1
1School of Computer Science, The University of Birmingham, Birmingham, UK

Tóm tắt

Software effort estimation is an online supervised learning problem, where new training projects may become available over time. In this scenario, the Cross-Company (CC) approach Dycom can drastically reduce the number of Within-Company (WC) projects needed for training, saving their collection cost. However, Dycom requires CC projects to be split into subsets. Both the number and composition of such subsets can affect Dycom’s predictive performance. Even though clustering methods could be used to automatically create CC subsets, there are no procedures for automatically tuning the number of clusters over time in online supervised scenarios. This paper proposes the first procedure for that. An investigation of Dycom using six clustering methods and three automated tuning procedures is performed, to check whether clustering with automated tuning can create well performing CC splits. A case study with the ISBSG Repository shows that the proposed tuning procedure in combination with a simple threshold-based clustering method is the most successful in enabling Dycom to drastically reduce (by a factor of 10) the number of required WC training projects, while maintaining (or even improving) predictive performance in comparison with a corresponding WC model. A detailed analysis is provided to understand the conditions under which this approach does or does not work well. Overall, the proposed online supervised tuning procedure was generally successful in enabling a very simple threshold-based clustering approach to obtain the most competitive Dycom results. This demonstrates the value of automatically tuning hyperparameters over time in a supervised way.

Tài liệu tham khảo

Agrawal A, Menzies T (2018) Is “better data” better than “better data miners”?. In: International conference on software engineering (ICSE), pp 1050–1061 Amasaki S, Takahara Y, Yokogawa T (2011) Performance evaluation of windowing approach on effort estimation by analogy. In: IWSM-MENSURA, pp 188–195 Bishop C (2006) Pattern recognition and machine learning. Springer, Berlin Boehm B (1981) Software engineering economics. Prentice-Hall, Englewood Cliffs Breiman L (1996) Bagging predictors. Mach Learn 24(2):123–140 Briand L, Langley T, Wieczorek I (2000) A replicated assessment of common software cost estimation techniques. In: International conference on software engineering (ICSE). Como, Italy, pp 377–386 Cohen J (1992) A power primer. Psychol Bull 112:155–159 Corazza A, Di Martino S, Ferrucci F, Gravino C, Sarro F, Mendes E (2013) Using tabu search to configure support vector regression for effort estimation. Empir Softw Eng J (EMSE) 18(3):506–546 Dejaeger K, Verbeke W, Martens D, Baesens B (2012) Data mining techniques for software effort estimation: a comparative study. IEEE Trans Softw Eng (TSE) 38(2):375–397 Ditzler G, Roveri M, Alippi C, Polikar R (2015) Learning in nonstationary environments: a survey. IEEE Comput Intell Mag (CIM) 10(4):12–25 Fu W, Menzies T (2017) Easy over hard: a case study on deep learning. In: Symposium on the foundations of software engineering (FSE), pp 49–60 Fu W, Menzies T, Shen X (2016) Tuning for software analytics: is it really necessary? Inf Softw Technol (IST) 76:135–146 Gallego J, Rodriguez D, Sicilia M, Rubio M, Crespo A (2007) Software project effort estimation based on multiple parametric models generated through data clustering. J Comput Sci Technol (JCST) 22(3):371–378 Gama J, Medas P, Castillo G, Rodrigues P (2004) Learning with drift detection. In: Proceedings of the 7th Brazilian symposium on artificial intelligence (SBIA’04) - Lecture notes in computer science, vol 3171. Springer, São Luiz do Maranhão, pp 286–295 Gama J, Sebastiao R, Rodrigues P (2009) Issues in evaluation of stream learning algorithms. In: ACM SIGKDD conference on knowledge discovery and data mining (KDD), pp 329–337 Hall M, Frank E, Holmes G, Pfahringer B, Reutemann P, Witten IH (2009) The weka data mining software: an update. SIGKDD Explor 11(1):10–18 Huang SJ, Chiu NH, Liu YJ (2008) A comparative evaluation on the accuracies of software effort estimates from clustered data. Inf Softw Technol (IST) 50:879–888 ISBSG (2011) The international software benchmarking standards group. http://www.isbsg.org Jeffery R, Ruhe M, Wieczorek I (2010) A comparative study of two software development cost modeling techniques using multi-organizational and company-specific data. Inf Softw Technol (IST) 42(14):1009–1016 Jørgensen M, Shepperd M (2007) A systematic review of software development cost estimation studies. IEEE Trans Softw Eng (TSE) 33(1):33–53 Kannan R, Vempala S, Vetta A (2000) On clusterings—good, bad and spectral. Tech. rep., Yale University Kitchenham B, Mendes E (2004) A comparison of cross-company and within-company effort estimation models for web applications. In: METRICS, Chicago, pp 348–357 Kitchenham B, Mendes E, Travassos G (2007) Cross versus within-company cost estimation studies: a systematic review. IEEE Trans Softw Eng (TSE) 33(5):316–329 Kocaguneli E, Cukic B, Menzies T, Lu H (2013) Building a second opinion: learning cross-company data. In: International conference on predictive models in software engineering (PROMISE), pp 12.1–10 Kocaguneli E, Gay G, Menzies T, Yang Y, Keung JW (2010) When to use data from other projects for effort estimation. In: Automated software engineering (ASE). Antwerp, Belgium, pp 321–324 Kocaguneli E, Menzies T, Bener A, Keung JW (2012) Exploiting the essential assumptions of analogy-based effort estimation. IEEE Trans Softw Eng (TSE) 38(2):425–438 Kocaguneli E, Menzies T, Mendes E (2015) Transfer learning in effort estimation. EMSE 20(3):813–843 Lavesson N, Davidsson P (2006) Quantifying the impact of learning algorithm parameter tuning. In: AAAI conference on artificial intelligence Lefley M, Shepperd M (2003) Using genetic programming to improve software effort estimation based on general data sets. In: Genetic and evolutionary computation conference (GECCO), vol LNCS 2724, Chicago, pp 2477–2487 Lokan C, Mendes E (2017) Investigating the use of moving windows to improve software effort prediction: a replicated study. Empir Softw Eng J (EMSE) 22:716–767 McDonell S, Shepperd M (2007) Comparing local and global software effort estimation models—reflections on a systematic review. In: ESEM, Madrid, pp 401–409 Menzies T, Shepperd M (2012) Special issue on repeatable results in software engineering prediction. EMSE 17:1–17 Menzies T, Butcher A, Cok D, Marcus A, Layman L, Shull F, Turhan B, Zimmerman T (2013) Local vs. global lessons for defect prediction and effort estimation. IEEE Trans Softw Eng (TSE) 39(6):822–834 Menzies T, Krishna R, Pryor D (2017) The seacraft repository of empirical software engineering data. http://tiny.cc/seacraft Menzies T, Yang Y, Mathew G, Boehm B, Hihn J (2017) Negative results for software effort estimation. Empir Softw Eng J (EMSE) 22(5):2658–2683 Minku L (2016) On the terms within- and cross-company in software effort estimation. In: International conference on predictive models and data analytics in software engineering (PROMISE). Ciudad Real, Spain, pp 4.1–4.4 Minku L (2018) Oates: a fully dynamic transfer learning approach for software effort estimation (under review) Minku L, Hou S (2017) Clustering Dycom: an online cross-company software effort estimation study. In: International conference on predictive models and data analytics in software engineering (PROMISE), pp 12–21 Minku L, Yao X (2012) Can cross-company data improve performance in software effort estimation?. In: International conference on predictive models in software engineering (PROMISE), Lund, pp 69–78 Minku L, Yao X (2013) Ensembles and locality: insight on improving software effort estimation. Inf Softw Technol (IST) 55(8):1512–1528 Minku L, Yao X (2014) How to make best use of cross-company data in software effort estimation?. In: International conference on software engineering (ICSE), Hyderabad, pp 446–456 Minku L, Yao X (2017) Which models of the past are relevant to the present? A software effort estimation approach to exploiting useful past models. Automat Softw Eng J 24(3):499–542 Minku L, Sarro F, Mendes E, Ferrucci F (2015) How to make best use of cross-company data for web effort estimation?. In: International symposium on empirical software engineering and measurement (ESEM). Bergamo, Italy Mittas N, Angelis L (2013) Ranking and clustering software cost estimation models through a multiple comparisons algorithm. IEEE Trans Softw Eng (TSE) 39 (4):537–551 Nair V, Agrawal A, Chen J, Fu W, Mathew G, Menzies T, Minku L, Wagner M, Yu Z (2018) Data-driven search-based software engineering. In: Mining software repositories (MSR), pp 341–352 Oliveira A, Braga P, Lima R, amd Cornelio R (2010) GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation. Inf Softw Technol (IST) 52:1155–1166 Pelleg D, Moore A (2000) X-means: extending k-means with efficient estimation of the number of clusters. In: International conference on machine learning (ICML), pp 727–734 Rokach L, Maimon O (2005) Clustering methods. Springer, Berlin, pp 321–352 Sarro F, Petrozziello A (2018) Linear programming as a baseline for software effort estimation. In: ACM transactions on software engineering and methodology (TOSEM) (in press) Sarro F, Petrozziello A, Harman M (2016) Multi-objective software effort estimation. In: International conference on software engineering (ICSE), pp 619–630 Shepperd M, McDonell S (2012) Evaluating prediction systems in software project estimation. Inf Softw Technol (IST) 54(8):820–827 Shepperd M, Schofield C (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng (TSE) 23(12):736–743 Shi J, Malik J (2000) Normalized cuts and image segmentation. IEEE Trans Pattern Anal Mach Intell 22(8):888–905 Song L, Minku L, Yao X (2013) The impact of parameter tuning on software effort estimation using learning machines. In: International conference on predictive models and data analytics in software engineering (PROMISE), Article No. 9, 10p. Baltimore Song L, Minku L, Yao X (2018) A novel automated approach for software effort estimation based on data augmentation. In: Symposium on the foundations of software engineering (FSE) (accepted) Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K (2016) Automated parameter optimization of classification techniques for defect prediction models. In: International conference on software engineering (ICSE) Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K (2017) An empirical comparison of model validation techniques for defect prediction models. IEEE Trans Softw Eng (TSE) 43(1):1–18 Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K (2018) The impact of automated parameter optimization for defect prediction models. IEEE Trans Softw Eng (TSE) (in press) Turhan B, Mendes E (2014) A comparison of cross- versus single- company effort prediction models for web projects. In: SEAA, Verona, pp 285–292 Usman M, Mendes E, Weidt F, Brito R (2014) Effort estimation in agile software development: a systematic literature review. In: Proceedings of the 10th international conference on predictive models in software engineering, pp 82–91 Vargha A, Delaney HD (2000) A critique and improvement of the cl common language effect size statistics of Mcgraw and Wong. J Educ Behav Stat 25:101–132 Wang S, Minku L, Yao X (2015) Resampling-based ensemble methods for online class imbalance learning. IEEE Trans Knowl Data Eng 27:1356–1368 Wieczorek I, Ruhe M (2002) How valuable is company-specific data compared to multi-company data for software cost estimation?. In: METRICS, Ottawa, pp 237–246 Xia T, Chen J, Mathew G, Shen X, Menzies T (2018) Why software effort estimation needs SBSE. arXiv:1804.00626v1 Xia T, Krishna R, Chen J, Mathew G, Shen X, Menzies T (2018) Hyperparameter optimization for effort estimation. arXiv:1805.00336v2